From 603753dfff93f8eb0560d8f2951cd15139cdd70b Mon Sep 17 00:00:00 2001 From: Yehonal Date: Mon, 20 Mar 2017 16:51:47 +0100 Subject: [PATCH] CMAKE: implemented method to disable a module via cmake use -DDISABLED_AC_MODULES or config.cmake file to define it --- CMakeLists.txt | 7 +++++++ bin/compiler/includes/functions.sh | 2 +- conf/config.sh.dist | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 21be37be1..9e8d620b4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -116,6 +116,13 @@ endif() # add modules and dependencies CU_SUBDIRLIST(sub_DIRS "${CMAKE_SOURCE_DIR}/modules" FALSE FALSE) FOREACH(subdir ${sub_DIRS}) + + get_filename_component(MODULENAME ${subdir} NAME) + + if (";${DISABLED_AC_MODULES};" MATCHES ";${MODULENAME};") + continue() + endif() + STRING(REGEX REPLACE "^${CMAKE_SOURCE_DIR}/" "" subdir_rel ${subdir}) if(EXISTS "${subdir}/CMakeLists.txt") message("Loading module: ${subdir_rel}") diff --git a/bin/compiler/includes/functions.sh b/bin/compiler/includes/functions.sh index 03bb25e35..5113391df 100644 --- a/bin/compiler/includes/functions.sh +++ b/bin/compiler/includes/functions.sh @@ -31,7 +31,7 @@ function configure() { cmake $SRCPATH -DCMAKE_INSTALL_PREFIX=$BINPATH -DCONF_DIR=$CONFDIR -DSERVERS=$CSERVERS \ -DSCRIPTS=$CSCRIPTS \ -DTOOLS=$CTOOLS -DUSE_SCRIPTPCH=$CSCRIPTPCH -DUSE_COREPCH=$CCOREPCH -DWITH_COREDEBUG=$CDEBUG -DCMAKE_BUILD_TYPE=$CTYPE -DWITH_WARNINGS=$CWARNINGS \ - -DCMAKE_C_COMPILER=$CCOMPILERC -DCMAKE_CXX_COMPILER=$CCOMPILERCXX $CCUSTOMOPTIONS + -DCMAKE_C_COMPILER=$CCOMPILERC -DCMAKE_CXX_COMPILER=$CCOMPILERCXX "-DDISABLED_AC_MODULES=$CDISABLED_AC_MODULES" $CCUSTOMOPTIONS cd $CWD diff --git a/conf/config.sh.dist b/conf/config.sh.dist index cb36ce2a3..d2a7ec2fc 100644 --- a/conf/config.sh.dist +++ b/conf/config.sh.dist @@ -35,6 +35,8 @@ CTOOLS=OFF # use precompiled headers ( fatest compilation but not optimized if you change headers often ) CSCRIPTPCH=ON CCOREPCH=ON +# use semicolon ; to separate modules +CDISABLED_AC_MODULES="" # you can add your custom definitions here ( -D ) CCUSTOMOPTIONS=""