diff --git a/src/cmake/ac_macros.cmake b/src/cmake/ac_macros.cmake index d107351e5..7c406e7c1 100644 --- a/src/cmake/ac_macros.cmake +++ b/src/cmake/ac_macros.cmake @@ -9,8 +9,26 @@ ENDMACRO() # AC_ADD_SCRIPT_LOADER # MACRO(AC_ADD_SCRIPT_LOADER script_dec include) - CU_ADD_GLOBAL("AC_ADD_SCRIPTS_LIST" "Add${script_dec}Scripts()\;") - + set (lower_prio_scripts ${ARGN}) + list(LENGTH lower_prio_scripts num_lower_prio_scripts) + if (${num_lower_prio_scripts} GREATER 0) + CU_GET_GLOBAL("AC_ADD_SCRIPTS_LIST") + foreach(lower_prio_script ${lower_prio_scripts}) + if ("${AC_ADD_SCRIPTS_LIST}" MATCHES "Add${lower_prio_script}Scripts()") + message("-- ${script_dec} demands lower priority: ${lower_prio_script} --") + list(REMOVE_ITEM AC_ADD_SCRIPTS_LIST "Add${lower_prio_script}Scripts()") + CU_SET_GLOBAL("AC_ADD_SCRIPTS_LIST" "${AC_ADD_SCRIPTS_LIST}") + list(APPEND removed_lower_prio_scripts ${lower_prio_script}) + endif() + endforeach() + CU_ADD_GLOBAL("AC_ADD_SCRIPTS_LIST" "Add${script_dec}Scripts()\;") + foreach(lower_prio_script ${removed_lower_prio_scripts}) + CU_ADD_GLOBAL("AC_ADD_SCRIPTS_LIST" "Add${lower_prio_script}Scripts()\;") + endforeach() + else() + CU_ADD_GLOBAL("AC_ADD_SCRIPTS_LIST" "Add${script_dec}Scripts()\;") + endif() + if (NOT ${include} STREQUAL "") CU_GET_GLOBAL("AC_ADD_SCRIPTS_INCLUDE") @@ -26,4 +44,4 @@ ENDMACRO() MACRO(AC_ADD_CONFIG_FILE configFilePath) CU_GET_GLOBAL("MODULE_CONFIG_FILE_LIST") CU_ADD_GLOBAL("MODULE_CONFIG_FILE_LIST" "${configFilePath}") -ENDMACRO() \ No newline at end of file +ENDMACRO()