[CMAKE]
[reactos.git] / dll / win32 / user32 / CMakeLists.txt
index 45c743e..f8a8f4c 100644 (file)
@@ -1,45 +1,84 @@
 
-SET(CMAKE_C_CREATE_SHARED_LIBRARY "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_C_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
+set_unicode()
 
-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
+    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
-    ${REACTOS_SOURCE_DIR}/dll/win32/gdi32/libgdi32.a
-    ${REACTOS_SOURCE_DIR}/dll/win32/advapi32/libadvapi32.a
-    -limm32
     win32ksys
-    pseh
-    ${REACTOS_SOURCE_DIR}/dll/win32/kernel32/libkernel32.a
-    ${REACTOS_SOURCE_DIR}/dll/ntdll/libntdll.a)
+    pseh)
                       
 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)