[CMAKE]
[reactos.git] / subsystems / win32 / win32k / CMakeLists.txt
index d755138..6de96b5 100644 (file)
@@ -1,4 +1,6 @@
 
+spec2def(win32k.sys win32k.spec)
+
 include_directories(
     .
     include
@@ -11,9 +13,20 @@ add_definitions(
     -DLANGPACK
     -D_WIN32K_)
 
+file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/dib)
+
+list(APPEND GENDIB_FILES
+    ${CMAKE_CURRENT_BINARY_DIR}/dib/dib8gen.c
+    ${CMAKE_CURRENT_BINARY_DIR}/dib/dib16gen.c
+    ${CMAKE_CURRENT_BINARY_DIR}/dib/dib32gen.c)
+
+add_custom_command(
+    OUTPUT ${GENDIB_FILES}
+    COMMAND native-gendib ${CMAKE_CURRENT_BINARY_DIR}/dib)
+
 list(APPEND SOURCE
     dib/alphablend.c
-       dib/dib1bpp.c
+    dib/dib1bpp.c
     dib/dib4bpp.c
     dib/dib8bpp.c
     dib/dib16bpp.c
@@ -35,15 +48,15 @@ list(APPEND SOURCE
     eng/float.c
     eng/gradient.c
     eng/lineto.c
-       eng/ldevobj.c
+    eng/ldevobj.c
     eng/mapping.c
     eng/mem.c
     eng/engmisc.c
     eng/mouse.c
     eng/paint.c
-       eng/pdevobj.c
+    eng/pdevobj.c
     eng/perfcnt.c
-       eng/rlecomp.c
+    eng/rlecomp.c
     eng/semaphor.c
     eng/sort.c
     eng/string.c
@@ -54,7 +67,6 @@ list(APPEND SOURCE
     eng/xlate.c
     main/dllmain.c
     misc/driver.c
-    misc/err.c
     misc/file.c
     misc/math.c
     misc/rtlstr.c
@@ -129,6 +141,7 @@ list(APPEND SOURCE
     objects/font.c
     objects/freetype.c
     objects/gdibatch.c
+       objects/gdidbg.c
     objects/gdiobj.c
     objects/icm.c
     objects/line.c
@@ -146,21 +159,9 @@ list(APPEND SOURCE
     objects/xformobj.c
     stubs/stubs.c
     stubs/umpdstubs.c
-    win32k.rc
-    win32k_${ARCH}.def)
-    
-if(NOT MSVC)
-    set_source_files_properties(win32k_${ARCH}.def PROPERTIES EXTERNAL_OBJECT TRUE)
-endif()
+    win32k.rc)
 
-list(APPEND GENDIB_GENERATED
-    ${CMAKE_CURRENT_BINARY_DIR}/dib/dib8gen.c
-    ${CMAKE_CURRENT_BINARY_DIR}/dib/dib16gen.c
-    ${CMAKE_CURRENT_BINARY_DIR}/dib/dib32gen.c)
-
-set_source_files_properties(${GENDIB_GENERATED} PROPERTIES GENERATED TRUE)
-
-list(APPEND SOURCE ${GENDIB_GENERATED})
+list(APPEND SOURCE ${GENDIB_FILES})
 
 if(ARCH MATCHES i386)
 list(APPEND SOURCE
@@ -177,10 +178,11 @@ else()
 list(APPEND SOURCE
     dib/dib24bppc.c
     dib/dib32bppc.c)
-endif(ARCH MATCHES i386)
+endif()
 
 add_library(win32k SHARED
     ${CMAKE_CURRENT_BINARY_DIR}/win32k_pch.h.gch
+    ${CMAKE_CURRENT_BINARY_DIR}/win32k.def
     ${SOURCE})
 
 set_module_type(win32k kernelmodedriver)
@@ -193,4 +195,7 @@ target_link_libraries(win32k
 add_importlibs(win32k ntoskrnl hal ftfd)
 add_pch(win32k ${CMAKE_CURRENT_SOURCE_DIR}/pch.h ${SOURCE})
 add_dependencies(win32k gendib_generated subsystem_napi)
-add_cab_target(win32k 1)
\ No newline at end of file
+add_cab_target(win32k 1)
+add_importlib_target(win32k.spec)
+
+add_library(win32ksys sys-stubs.S)