diff options
author | Kargatum <dowlandtop@yandex.com> | 2021-05-31 05:40:45 +0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-31 00:40:45 +0200 |
commit | f25a47715aa501c4a3a857e5b4dfa6b0efa620b4 (patch) | |
tree | a5c2bc627da597929815e8a765c33af7a18e325b /src | |
parent | 637041598fd469b973c9d2c3bde62e008f1ace9a (diff) |
feat(Cmake/Modules): support add config all modules without AC_ADD_CONFIG_FILE (#5994)
Diffstat (limited to 'src')
-rw-r--r-- | src/cmake/ac_macros.cmake | 3 | ||||
-rw-r--r-- | src/cmake/macros/ConfigInstall.cmake | 33 |
2 files changed, 23 insertions, 13 deletions
diff --git a/src/cmake/ac_macros.cmake b/src/cmake/ac_macros.cmake index 623fc30613..f47fa1eeee 100644 --- a/src/cmake/ac_macros.cmake +++ b/src/cmake/ac_macros.cmake @@ -57,6 +57,5 @@ ENDMACRO() #AC_ADD_CONFIG_FILE # MACRO(AC_ADD_CONFIG_FILE configFilePath) - CU_GET_GLOBAL("MODULE_CONFIG_FILE_LIST") - CU_ADD_GLOBAL("MODULE_CONFIG_FILE_LIST" "${configFilePath}") + message("> Warning: module using deprecated add config file api") ENDMACRO() diff --git a/src/cmake/macros/ConfigInstall.cmake b/src/cmake/macros/ConfigInstall.cmake index dd12368829..d2c661ed69 100644 --- a/src/cmake/macros/ConfigInstall.cmake +++ b/src/cmake/macros/ConfigInstall.cmake @@ -68,23 +68,34 @@ function(CopyModuleConfig configDir) unset(postPath) endfunction() -# -# Use it like: -# CollectModulesConfig() -# +# Stores the absolut path of the given config module in the variable +function(GetPathToModuleConfig module variable) + set(${variable} "${CMAKE_SOURCE_DIR}/modules/${module}/conf" PARENT_SCOPE) +endfunction() +# Creates a list of all configs modules +# and stores it in the given variable. function(CollectModulesConfig) + file(GLOB LOCALE_MODULE_LIST RELATIVE + ${CMAKE_SOURCE_DIR}/modules + ${CMAKE_SOURCE_DIR}/modules/*) + message(STATUS "* Modules config list:") - CU_GET_GLOBAL("MODULE_CONFIG_FILE_LIST") + foreach(CONFIG_MODULE ${LOCALE_MODULE_LIST}) + GetPathToModuleConfig(${CONFIG_MODULE} MODULE_CONFIG_PATH) - foreach(configFile ${MODULE_CONFIG_FILE_LIST}) - CopyModuleConfig(${configFile}) - get_filename_component(file_name ${configFile} NAME) - set(CONFIG_LIST ${CONFIG_LIST}${file_name},) - message(STATUS " |- ${file_name}") - endforeach() + file(GLOB MODULE_CONFIG_LIST RELATIVE + ${MODULE_CONFIG_PATH} + ${MODULE_CONFIG_PATH}/*.conf.dist) + foreach(configFileName ${MODULE_CONFIG_LIST}) + CopyModuleConfig("${MODULE_CONFIG_PATH}/${configFileName}") + set(CONFIG_LIST ${CONFIG_LIST}${configFileName},) + message(STATUS " |- ${configFileName}") + endforeach() + + endforeach() message("") add_definitions(-DCONFIG_FILE_LIST=$<1:"${CONFIG_LIST}">) endfunction() |