[ros-diffs] [akhaldi] 48441: [CMAKE] - Add IDL generated headers to build.

akhaldi at svn.reactos.org akhaldi at svn.reactos.org
Tue Aug 3 21:52:00 UTC 2010


Author: akhaldi
Date: Tue Aug  3 21:51:59 2010
New Revision: 48441

URL: http://svn.reactos.org/svn/reactos?rev=48441&view=rev
Log:
[CMAKE]
- Add IDL generated headers to build.

Added:
    branches/cmake-bringup/include/reactos/idl/CMakeLists.txt   (with props)
Modified:
    branches/cmake-bringup/CMakeLists.txt

Modified: branches/cmake-bringup/CMakeLists.txt
URL: http://svn.reactos.org/svn/reactos/branches/cmake-bringup/CMakeLists.txt?rev=48441&r1=48440&r2=48441&view=diff
==============================================================================
--- branches/cmake-bringup/CMakeLists.txt [iso-8859-1] (original)
+++ branches/cmake-bringup/CMakeLists.txt [iso-8859-1] Tue Aug  3 21:51:59 2010
@@ -75,6 +75,7 @@
 
 add_subdirectory(include/psdk)
 add_subdirectory(include/dxsdk)
+add_subdirectory(include/reactos/idl)
 add_subdirectory(include/reactos/mc)
 
 add_subdirectory(base)
@@ -110,8 +111,6 @@
   DEPENDS native-nci ${nci_folders}
 )
 
-SET_SOURCE_FILES_PROPERTIES(${nci_output} PROPERTIES GENERATED TRUE)
-
 ADD_CUSTOM_TARGET(ntdll_S ALL DEPENDS ${REACTOS_BINARY_DIR}/lib/ntdllsys/ntdll.S)
 ADD_CUSTOM_TARGET(win32k_S ALL DEPENDS ${REACTOS_BINARY_DIR}/lib/win32ksys/win32k.S)
 ADD_CUSTOM_TARGET(ntsys_pspec ALL DEPENDS ${REACTOS_BINARY_DIR}/dll/ntdll/def/ntsys.pspec)

Added: branches/cmake-bringup/include/reactos/idl/CMakeLists.txt
URL: http://svn.reactos.org/svn/reactos/branches/cmake-bringup/include/reactos/idl/CMakeLists.txt?rev=48441&view=auto
==============================================================================
--- branches/cmake-bringup/include/reactos/idl/CMakeLists.txt (added)
+++ branches/cmake-bringup/include/reactos/idl/CMakeLists.txt [iso-8859-1] Tue Aug  3 21:51:59 2010
@@ -1,0 +1,51 @@
+
+remove_definitions(-DWINVER=0x502)
+add_definitions(-DWINVER=0x600)
+
+include_directories(.)
+
+get_directory_property(defines COMPILE_DEFINITIONS)
+get_directory_property(includes INCLUDE_DIRECTORIES)
+
+foreach(arg ${defines})
+  set(result_defs ${result_defs} -D${arg})
+endforeach(arg ${defines})
+
+foreach(arg ${includes})
+  set(result_incs -I${arg} ${result_incs})
+endforeach(arg ${includes})
+
+MACRO (MACRO_IDL_FILES)
+
+  FOREACH(_in_FILE ${ARGN})
+
+    get_filename_component(FILE ${_in_FILE} NAME_WE)
+    add_custom_command(
+      OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_s.h ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_s.c
+      COMMAND native-widl ${result_incs} ${result_defs} -m32 --win32 -h -H ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_s.h -s -S ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_s.c ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}.idl
+      DEPENDS native-widl
+    )
+    set_source_files_properties(
+      ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_s.h ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_s.c
+      PROPERTIES GENERATED TRUE
+    )
+    add_custom_target(${FILE}_server ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_s.h ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_s.c)
+    
+    add_custom_command(
+      OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_c.h ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_c.c
+      COMMAND native-widl ${result_incs} ${result_defs} -m32 --win32 -h -H ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_c.h -c -C ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_c.c ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}.idl
+      DEPENDS native-widl
+    )
+    set_source_files_properties(
+      ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_c.h ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_c.c
+      PROPERTIES GENERATED TRUE
+    )
+    add_custom_target(${FILE}_client ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_c.h ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_c.c)
+
+  ENDFOREACH(_in_FILE ${ARGN})
+
+ENDMACRO (MACRO_IDL_FILES)
+
+file(GLOB_RECURSE SOURCE "*.idl")
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/ms-dtyp.idl)
+MACRO_IDL_FILES(${SOURCE})

Propchange: branches/cmake-bringup/include/reactos/idl/CMakeLists.txt
------------------------------------------------------------------------------
    svn:eol-style = native




More information about the Ros-diffs mailing list