Hey Timo,
nice stuff, but I think you committed a bit too fast ;-)
See inline:
Le 13/02/2015 21:19, tkreuzer(a)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?re…
==============================================================================
--- 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)