+spec2def(win32k.sys win32k.spec)
+
include_directories(
.
include
-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
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
eng/xlate.c
main/dllmain.c
misc/driver.c
- misc/err.c
misc/file.c
misc/math.c
misc/rtlstr.c
objects/font.c
objects/freetype.c
objects/gdibatch.c
+ objects/gdidbg.c
objects/gdiobj.c
objects/icm.c
objects/line.c
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
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)
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)