[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