From: Amine Khaldi Date: Tue, 27 Jul 2010 01:36:55 +0000 (+0000) Subject: [CMAKE] X-Git-Tag: backups/GSoC_2011/GSoC_Themes@51550~970 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=1e82e45439d09d6288140fe71e46a252a7cf35fe;ds=sidebyside [CMAKE] - Separate the resources creation into several targets. With this we're able to set proper dependencies on them selectively, and not as a whole. - Make chew and csq, as a result, depend only on bugcodes. svn path=/branches/cmake-bringup/; revision=48297 --- diff --git a/include/reactos/mc/CMakeLists.txt b/include/reactos/mc/CMakeLists.txt index 7e9f83b81b9..29ab2fb840d 100644 --- a/include/reactos/mc/CMakeLists.txt +++ b/include/reactos/mc/CMakeLists.txt @@ -1,30 +1,74 @@ + # bugcodes + ADD_CUSTOM_COMMAND( + OUTPUT ${REACTOS_BINARY_DIR}/include/reactos/bugcodes.h + COMMAND native-wmc -i -H ${REACTOS_BINARY_DIR}/include/reactos/bugcodes.h -o ${REACTOS_BINARY_DIR}/include/reactos/mc/bugcodes.rc ${REACTOS_SOURCE_DIR}/include/reactos/mc/bugcodes.mc + DEPENDS native-wmc + ) + + SET_SOURCE_FILES_PROPERTIES( + ${REACTOS_BINARY_DIR}/include/reactos/bugcodes.h + PROPERTIES + GENERATED TRUE + ) -MACRO (MACRO_ADD_RESOURCES) + ADD_CUSTOM_TARGET(bugcodes ALL DEPENDS ${REACTOS_BINARY_DIR}/include/reactos/bugcodes.h) - FOREACH(_in_FILE ${ARGN}) + # errcodes + ADD_CUSTOM_COMMAND( + OUTPUT ${REACTOS_BINARY_DIR}/include/reactos/errcodes.h + COMMAND native-wmc -i -H ${REACTOS_BINARY_DIR}/include/reactos/errcodes.h -o ${REACTOS_BINARY_DIR}/include/reactos/mc/errcodes.rc ${REACTOS_SOURCE_DIR}/include/reactos/mc/errcodes.mc + DEPENDS native-wmc + ) + + SET_SOURCE_FILES_PROPERTIES( + ${REACTOS_BINARY_DIR}/include/reactos/errcodes.h + PROPERTIES + GENERATED TRUE + ) - GET_FILENAME_COMPONENT(FILE ${_in_FILE} NAME_WE) + ADD_CUSTOM_TARGET(errcodes ALL DEPENDS ${REACTOS_BINARY_DIR}/include/reactos/errcodes.h) + # netevent ADD_CUSTOM_COMMAND( - OUTPUT ${REACTOS_BINARY_DIR}/include/reactos/${FILE}.h - COMMAND native-wmc -i -H ${REACTOS_BINARY_DIR}/include/reactos/${FILE}.h -o ${REACTOS_BINARY_DIR}/include/reactos/mc/${FILE}.rc ${REACTOS_SOURCE_DIR}/include/reactos/mc/${FILE}.mc + OUTPUT ${REACTOS_BINARY_DIR}/include/reactos/netevent.h + COMMAND native-wmc -i -H ${REACTOS_BINARY_DIR}/include/reactos/netevent.h -o ${REACTOS_BINARY_DIR}/include/reactos/mc/netevent.rc ${REACTOS_SOURCE_DIR}/include/reactos/mc/netevent.mc DEPENDS native-wmc ) SET_SOURCE_FILES_PROPERTIES( - ${REACTOS_BINARY_DIR}/include/reactos/${FILE}.h + ${REACTOS_BINARY_DIR}/include/reactos/netevent.h PROPERTIES GENERATED TRUE ) - - LIST(APPEND RESOURCES ${REACTOS_BINARY_DIR}/include/reactos/${FILE}.h) - ENDFOREACH(_in_FILE ${ARGN}) + ADD_CUSTOM_TARGET(netevent ALL DEPENDS ${REACTOS_BINARY_DIR}/include/reactos/netevent.h) -ENDMACRO (MACRO_ADD_RESOURCES) + # ntstatus + ADD_CUSTOM_COMMAND( + OUTPUT ${REACTOS_BINARY_DIR}/include/reactos/ntstatus.h + COMMAND native-wmc -i -H ${REACTOS_BINARY_DIR}/include/reactos/ntstatus.h -o ${REACTOS_BINARY_DIR}/include/reactos/mc/ntstatus.rc ${REACTOS_SOURCE_DIR}/include/reactos/mc/ntstatus.mc + DEPENDS native-wmc + ) + + SET_SOURCE_FILES_PROPERTIES( + ${REACTOS_BINARY_DIR}/include/reactos/ntstatus.h + PROPERTIES + GENERATED TRUE + ) -file(GLOB_RECURSE SOURCE "*.mc") + ADD_CUSTOM_TARGET(ntstatus ALL DEPENDS ${REACTOS_BINARY_DIR}/include/reactos/ntstatus.h) -MACRO_ADD_RESOURCES(${SOURCE}) + # pciclass + ADD_CUSTOM_COMMAND( + OUTPUT ${REACTOS_BINARY_DIR}/include/reactos/pciclass.h + COMMAND native-wmc -i -H ${REACTOS_BINARY_DIR}/include/reactos/pciclass.h -o ${REACTOS_BINARY_DIR}/include/reactos/mc/pciclass.rc ${REACTOS_SOURCE_DIR}/include/reactos/mc/pciclass.mc + DEPENDS native-wmc + ) + + SET_SOURCE_FILES_PROPERTIES( + ${REACTOS_BINARY_DIR}/include/reactos/pciclass.h + PROPERTIES + GENERATED TRUE + ) -ADD_CUSTOM_TARGET(build_resources ALL DEPENDS ${RESOURCES}) + ADD_CUSTOM_TARGET(pciclass ALL DEPENDS ${REACTOS_BINARY_DIR}/include/reactos/pciclass.h) \ No newline at end of file diff --git a/lib/drivers/chew/CMakeLists.txt b/lib/drivers/chew/CMakeLists.txt index 178ac637f8c..8f7b51762b5 100644 --- a/lib/drivers/chew/CMakeLists.txt +++ b/lib/drivers/chew/CMakeLists.txt @@ -1,4 +1,4 @@ add_definitions(-D_NTOSKRNL_) add_library(chew workqueue.c) -add_dependencies(chew build_resources) \ No newline at end of file +add_dependencies(chew bugcodes) \ No newline at end of file diff --git a/lib/drivers/csq/CMakeLists.txt b/lib/drivers/csq/CMakeLists.txt index c05495332ef..81d1ed0e880 100644 --- a/lib/drivers/csq/CMakeLists.txt +++ b/lib/drivers/csq/CMakeLists.txt @@ -1,4 +1,4 @@ add_definitions(-D_NTOSKRNL_) add_library(csq csq.c) -add_dependencies(csq build_resources) \ No newline at end of file +add_dependencies(csq bugcodes) \ No newline at end of file