[CMAKE]
authorAmine Khaldi <amine.khaldi@reactos.org>
Tue, 27 Jul 2010 01:36:55 +0000 (01:36 +0000)
committerAmine Khaldi <amine.khaldi@reactos.org>
Tue, 27 Jul 2010 01:36:55 +0000 (01:36 +0000)
- 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

include/reactos/mc/CMakeLists.txt
lib/drivers/chew/CMakeLists.txt
lib/drivers/csq/CMakeLists.txt

index 7e9f83b..29ab2fb 100644 (file)
@@ -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
index 178ac63..8f7b517 100644 (file)
@@ -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
index c054953..81d1ed0 100644 (file)
@@ -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