From afcc01c3dcd1f0650ecd1ab0f85c18f9b08cc5fd Mon Sep 17 00:00:00 2001 From: WerWolv Date: Sat, 15 Jul 2023 10:33:42 +0200 Subject: [PATCH] build: Set default settings only if they haven't been set already --- cmake/build_helpers.cmake | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/cmake/build_helpers.cmake b/cmake/build_helpers.cmake index da8ada024..90379db10 100644 --- a/cmake/build_helpers.cmake +++ b/cmake/build_helpers.cmake @@ -291,26 +291,26 @@ macro(configureCMake) find_program(AR_LLVMLIBS_PATH llvm-ar) find_program(RANLIB_LLVMLIBS_PATH llvm-ranlib) - if (CCACHE_PATH) + if (CCACHE_PATH AND NOT CMAKE_C_COMPILER_LAUNCHER AND NOT CMAKE_CXX_COMPILER_LAUNCHER) set(CMAKE_C_COMPILER_LAUNCHER ${CCACHE_PATH}) set(CMAKE_CXX_COMPILER_LAUNCHER ${CCACHE_PATH}) else () message(WARNING "ccache not found!") endif () - if (AR_LLVMLIBS_PATH) + if (AR_LLVMLIBS_PATH AND NOT CMAKE_AR) set(CMAKE_AR ${AR_LLVMLIBS_PATH}) else () message(WARNING "llvm-ar not found, using default ar!") endif () - if (RANLIB_LLVMLIBS_PATH) + if (RANLIB_LLVMLIBS_PATH AND NOT CMAKE_RANLIB) set(CMAKE_RANLIB ${RANLIB_LLVMLIBS_PATH}) else () message(WARNING "llvm-ranlib not found, using default ranlib!") endif () - if (LD_LLD_PATH) + if (LD_LLD_PATH AND NOT CMAKE_LINKER) set(CMAKE_LINKER ${LD_LLD_PATH}) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fuse-ld=lld") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fuse-ld=lld") @@ -318,7 +318,11 @@ macro(configureCMake) message(WARNING "lld not found, using default linker!") endif () - set(CMAKE_GENERATOR Ninja) + if (NINJA_PATH AND NOT CMAKE_GENERATOR) + set(CMAKE_GENERATOR Ninja) + else () + message(WARNING "ninja not found, using default generator!") + endif () endif() # Enable LTO if desired and supported