feat(Cmake/Modules): support add config all modules without AC_ADD_CONFIG_FILE (#5994)
This commit is contained in:
@@ -57,6 +57,5 @@ ENDMACRO()
|
|||||||
#AC_ADD_CONFIG_FILE
|
#AC_ADD_CONFIG_FILE
|
||||||
#
|
#
|
||||||
MACRO(AC_ADD_CONFIG_FILE configFilePath)
|
MACRO(AC_ADD_CONFIG_FILE configFilePath)
|
||||||
CU_GET_GLOBAL("MODULE_CONFIG_FILE_LIST")
|
message("> Warning: module using deprecated add config file api")
|
||||||
CU_ADD_GLOBAL("MODULE_CONFIG_FILE_LIST" "${configFilePath}")
|
|
||||||
ENDMACRO()
|
ENDMACRO()
|
||||||
|
|||||||
@@ -68,23 +68,34 @@ function(CopyModuleConfig configDir)
|
|||||||
unset(postPath)
|
unset(postPath)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
#
|
# Stores the absolut path of the given config module in the variable
|
||||||
# Use it like:
|
function(GetPathToModuleConfig module variable)
|
||||||
# CollectModulesConfig()
|
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)
|
function(CollectModulesConfig)
|
||||||
|
file(GLOB LOCALE_MODULE_LIST RELATIVE
|
||||||
|
${CMAKE_SOURCE_DIR}/modules
|
||||||
|
${CMAKE_SOURCE_DIR}/modules/*)
|
||||||
|
|
||||||
message(STATUS "* Modules config list:")
|
message(STATUS "* Modules config list:")
|
||||||
|
|
||||||
CU_GET_GLOBAL("MODULE_CONFIG_FILE_LIST")
|
foreach(CONFIG_MODULE ${LOCALE_MODULE_LIST})
|
||||||
|
GetPathToModuleConfig(${CONFIG_MODULE} MODULE_CONFIG_PATH)
|
||||||
|
|
||||||
|
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()
|
||||||
|
|
||||||
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()
|
endforeach()
|
||||||
|
|
||||||
message("")
|
message("")
|
||||||
add_definitions(-DCONFIG_FILE_LIST=$<1:"${CONFIG_LIST}">)
|
add_definitions(-DCONFIG_FILE_LIST=$<1:"${CONFIG_LIST}">)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|||||||
Reference in New Issue
Block a user