+set_unicode()
+spec2def(user32.dll user32.pspec)
-add_definitions(-DUNICODE -D_UNICODE)
add_definitions(-D_DLL -D__USE_CRTIMP)
-include_directories(BEFORE ${REACTOS_SOURCE_DIR}/include/reactos/wine)
-include_directories(${REACTOS_SOURCE_DIR}/include/reactos/subsys)
-include_directories(include)
+include_directories(
+ BEFORE ${REACTOS_SOURCE_DIR}/include/reactos/wine
+ ${REACTOS_SOURCE_DIR}/include/reactos/subsys
+ include)
-get_directory_property(defines COMPILE_DEFINITIONS)
-get_directory_property(includes INCLUDE_DIRECTORIES)
+set_rc_compiler()
-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})
-
-SET(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> ${result_defs} ${result_incs} -i <SOURCE> -O coff -o <OBJECT>")
-
-file(GLOB_RECURSE SOURCE *.c)
+list(APPEND SOURCE
+ controls/button.c
+ controls/combo.c
+ controls/edit.c
+ controls/icontitle.c
+ controls/listbox.c
+ controls/regcontrol.c
+ controls/scrollbar.c
+ controls/static.c
+ misc/dde.c
+ misc/ddeclient.c
+ misc/ddeserver.c
+ misc/desktop.c
+ misc/display.c
+ misc/dllmain.c
+ misc/exit.c
+ misc/exticon.c
+ misc/imm.c
+ misc/misc.c
+ misc/object.c
+ misc/resources.c
+ misc/rtlstr.c
+ misc/stubs.c
+ misc/timer.c
+ misc/usrapihk.c
+ misc/winhelp.c
+ misc/winsta.c
+ misc/wsprintf.c
+ windows/accel.c
+ windows/caret.c
+ windows/class.c
+ windows/clipboard.c
+ windows/cursoricon.c
+ windows/dc.c
+ windows/defwnd.c
+ windows/dialog.c
+ windows/draw.c
+ windows/font.c
+ windows/hook.c
+ windows/input.c
+ windows/mdi.c
+ windows/menu.c
+ windows/messagebox.c
+ windows/message.c
+ windows/nonclient.c
+ windows/paint.c
+ windows/prop.c
+ windows/rect.c
+ windows/spy.c
+ windows/text.c
+ windows/window.c
+ windows/winpos.c
+ user32_stubs.c
+ user32.rc
+ ${CMAKE_CURRENT_BINARY_DIR}/user32.def)
+
+set_source_files_properties(user32.def PROPERTIES EXTERNAL_OBJECT TRUE)
add_library(user32 SHARED
- ${SOURCE}
- ${CMAKE_CURRENT_SOURCE_DIR}/user32.rc
- ${CMAKE_CURRENT_BINARY_DIR}/user32_user32.h.gch)
+ ${CMAKE_CURRENT_BINARY_DIR}/user32_user32.h.gch
+ ${SOURCE})
-set_target_properties(user32 PROPERTIES LINK_FLAGS "-Wl,-entry,_DllMain@12")
+set_module_type(user32 win32dll)
target_link_libraries(user32
- ${CMAKE_CURRENT_SOURCE_DIR}/user32.def
wine
- -lgdi32
- -ladvapi32
- -limm32
win32ksys
- pseh
- -lkernel32
- -lntdll)
+ ${PSEH_LIB})
add_pch(user32 ${CMAKE_CURRENT_SOURCE_DIR}/include/user32.h ${SOURCE})
-add_dependencies(user32 psdk)
+add_importlibs(user32 gdi32 advapi32 imm32 kernel32 ntdll)
+add_cab_target(user32 1)
+add_importlib_target(${CMAKE_CURRENT_BINARY_DIR}/user32.def)
+