Hey Timo,
nice stuff, but I think you committed a bit too fast ;-) See inline:
Le 13/02/2015 21:19, tkreuzer@svn.reactos.org a écrit :
Author: tkreuzer Date: Fri Feb 13 20:19:51 2015 New Revision: 66250
URL: http://svn.reactos.org/svn/reactos?rev=66250&view=rev Log: [CMAKE] Add support for "module groups". These are meta targets that automatically include all targets using set_module_type() that are included between start_module_group(name) and end_module_group().
Modified: trunk/reactos/cmake/CMakeMacros.cmake
Modified: trunk/reactos/cmake/CMakeMacros.cmake URL: http://svn.reactos.org/svn/reactos/trunk/reactos/cmake/CMakeMacros.cmake?rev... ============================================================================== --- trunk/reactos/cmake/CMakeMacros.cmake [iso-8859-1] (original) +++ trunk/reactos/cmake/CMakeMacros.cmake [iso-8859-1] Fri Feb 13 20:19:51 2015 @@ -550,9 +550,14 @@ message(STATUS "set_module_type : unparsed arguments ${__module_UNPARSED_ARGUMENTS}, module : ${MODULE}") endif()
- # Add the module to the module group list, if it is defined
- if(DEFINED CURRENT_MODULE_GROUP)
set_property(GLOBAL APPEND PROPERTY ${CURRENT_MODULE_GROUP}_MODULE_LIST "${MODULE}")- endif()
# Set subsystem. Also take this as an occasion # to error out if someone gave a non existing type
- if((${TYPE} STREQUAL nativecui) OR (${TYPE} STREQUAL nativedll)
- if((${TYPE} STREQUAL nativecui) OR (${TYPE} STREQUAL nativedll) OR (${TYPE} STREQUAL kernelmodedriver) OR (${TYPE} STREQUAL wdmdriver) OR (${TYPE} STREQUAL kerneldll)) set(__subsystem native) elseif(${TYPE} STREQUAL win32cui)
@@ -662,6 +667,21 @@
# do compiler specific stuff set_module_type_toolchain(${MODULE} ${TYPE})+endfunction()
+function(start_module_group __name)
- if(DEFINED CURRENT_MODULE_GROUP)
message(FATAL_ERROR "CURRENT_MODULE_GROUP is already set ('${CURRENT_MODULE_GROUP}')")- endif()
- set(CURRENT_MODULE_GROUP rostests PARENT_SCOPE)
+endfunction()
should be
set(CURRENT_MODULE_GROUP ${__name} PARENT_SCOPE)
+function(end_module_group)
- get_property(__modulelist GLOBAL PROPERTY ${CURRENT_MODULE_GROUP}_MODULE_LIST)
- add_custom_target(${CURRENT_MODULE_GROUP})
- foreach(__module ${__modulelist})
add_dependencies(${CURRENT_MODULE_GROUP} ${__module})- endforeach() endfunction()
You should unset CURRENT_MODULE_GROUP somewhere aroud here.
function(preprocess_file __in __out)