[ros-dev] [ros-diffs] [tkreuzer] 66250: [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) a...
Jerome Gardou
jerome.gardou at reactos.org
Fri Feb 13 20:31:15 UTC 2015
Hey Timo,
nice stuff, but I think you committed a bit too fast ;-)
See inline:
Le 13/02/2015 21:19, tkreuzer at 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=66250&r1=66249&r2=66250&view=diff
> ==============================================================================
> --- 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)
>
>
More information about the Ros-dev
mailing list