[CMAKE]
[reactos.git] / subsystems / win32 / win32k / CMakeLists.txt
index 4ae7499..6de96b5 100644 (file)
@@ -1,4 +1,6 @@
 
+spec2def(win32k.sys win32k.spec)
+
 include_directories(
     .
     include
@@ -7,12 +9,24 @@ include_directories(
     ${REACTOS_SOURCE_DIR}/include/reactos/subsys
     ${REACTOS_SOURCE_DIR}/include/reactos/drivers)
 
-add_definitions(-DLANGPACK)
-add_definitions(-D_WIN32K_)
+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
@@ -34,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
@@ -53,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
@@ -128,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
@@ -147,14 +161,7 @@ list(APPEND SOURCE
     stubs/umpdstubs.c
     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
@@ -171,21 +178,24 @@ 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)
 
 target_link_libraries(win32k
-    ${CMAKE_CURRENT_SOURCE_DIR}/win32k_i386.def
-    pseh
+    ${PSEH_LIB}
     dxguid
     libcntpr)
 
 add_importlibs(win32k ntoskrnl hal ftfd)
 add_pch(win32k ${CMAKE_CURRENT_SOURCE_DIR}/pch.h ${SOURCE})
 add_dependencies(win32k gendib_generated subsystem_napi)
-add_livecd_target(win32k reactos/system32)
\ No newline at end of file
+add_cab_target(win32k 1)
+add_importlib_target(win32k.spec)
+
+add_library(win32ksys sys-stubs.S)