[CMAKE]: Add a makefile to build the IDL files. Not perfect, but gets the job done.
authorSir Richard <sir_richard@svn.reactos.org>
Sun, 25 Jul 2010 17:03:07 +0000 (17:03 +0000)
committerSir Richard <sir_richard@svn.reactos.org>
Sun, 25 Jul 2010 17:03:07 +0000 (17:03 +0000)
[CMAKE]: Add a mignw32 toolchain file, right now it's pretty hacked for my system only, but it works.

svn path=/branches/cmake-bringup/; revision=48256

include/psdk/CMakeLists.txt [new file with mode: 0644]
toolchain-mingw32.cmake [new file with mode: 0644]

diff --git a/include/psdk/CMakeLists.txt b/include/psdk/CMakeLists.txt
new file mode 100644 (file)
index 0000000..29c9362
--- /dev/null
@@ -0,0 +1,51 @@
+
+MACRO (MACRO_ADD_INTERFACES)
+
+ FOREACH(_in_FILE ${ARGN})
+
+   GET_FILENAME_COMPONENT(FILE ${_in_FILE} NAME_WE)
+
+   ADD_CUSTOM_COMMAND(
+     OUTPUT ${REACTOS_SOURCE_DIR}/include/psdk/${FILE}.h
+     COMMAND widl -I${REACTOS_SOURCE_DIR}/include/dxsdk -I. -I${REACTOS_SOURCE_DIR}/include -I${REACTOS_SOURCE_DIR}/include/psdk -m32 --win32 -h -H ${REACTOS_SOURCE_DIR}/include/psdk/${FILE}.h ${REACTOS_SOURCE_DIR}/include/psdk/${FILE}.idl
+     DEPENDS widl
+   )
+
+   SET_SOURCE_FILES_PROPERTIES(
+     ${REACTOS_SOURCE_DIR}/include/psdk/${FILE}.h
+     PROPERTIES
+     GENERATED TRUE
+   )
+
+    ADD_CUSTOM_TARGET(build_${FILE}_idl ALL DEPENDS ${REACTOS_SOURCE_DIR}/include/psdk/${FILE}.h)
+
+ ENDFOREACH(_in_FILE ${ARGN})
+
+ENDMACRO (MACRO_ADD_INTERFACES)
+
+file(GLOB_RECURSE SOURCE "*.idl")
+LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/access.idl)
+LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/asynot.idl)
+LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/asysta.idl)
+LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/binres.idl)
+LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/cmdbas.idl)
+LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/cmdtxt.idl)
+LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/crtrow.idl)
+LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/dbccmd.idl)
+LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/dbcses.idl)
+LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/dbdsad.idl)
+LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/dbinit.idl)
+LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/vmrender.idl)
+LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/sesprp.idl)
+LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/rstloc.idl)
+LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/rstbas.idl)
+LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/rstinf.idl)
+LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/rowchg.idl)
+LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/row.idl)
+LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/opnrst.idl)
+LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/dyngraph.idl)
+LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/dbs.idl)
+LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/dbprop.idl)
+
+MACRO_ADD_INTERFACES(${SOURCE})
+
diff --git a/toolchain-mingw32.cmake b/toolchain-mingw32.cmake
new file mode 100644 (file)
index 0000000..2689fb2
--- /dev/null
@@ -0,0 +1,16 @@
+# the name of the target operating system
+SET(CMAKE_SYSTEM_NAME Windows)
+
+# which compilers to use for C and C++
+SET(CMAKE_C_COMPILER mingw32-gcc)
+SET(CMAKE_CXX_COMPILER mingw32-g++)
+
+# here is the target environment located
+SET(CMAKE_FIND_ROOT_PATH /usr/local/RosBE )
+
+# adjust the default behaviour of the FIND_XXX() commands:
+# search headers and libraries in the target environment, search 
+# programs in the host environment
+set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)