summaryrefslogtreecommitdiff
path: root/src/cmake
diff options
context:
space:
mode:
authorKargatum <dowlandtop@yandex.com>2021-05-31 05:40:45 +0700
committerGitHub <noreply@github.com>2021-05-31 00:40:45 +0200
commitf25a47715aa501c4a3a857e5b4dfa6b0efa620b4 (patch)
treea5c2bc627da597929815e8a765c33af7a18e325b /src/cmake
parent637041598fd469b973c9d2c3bde62e008f1ace9a (diff)
feat(Cmake/Modules): support add config all modules without AC_ADD_CONFIG_FILE (#5994)
Diffstat (limited to 'src/cmake')
-rw-r--r--src/cmake/ac_macros.cmake3
-rw-r--r--src/cmake/macros/ConfigInstall.cmake33
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()