-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> -L${REACTOS_BINARY_DIR}/lib/3rdparty/mingw")
-
add_definitions(-D__WINESRC__)
remove_definitions(-D_WIN32_WINNT=0x502)
add_definitions(-D_WIN32_WINNT=0x600)
+if(MSVC)
+ add_definitions(/FIwine/typeof.h)
+endif()
+
include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine)
-spec2def(imm32 ${CMAKE_CURRENT_SOURCE_DIR}/imm32.spec ${CMAKE_CURRENT_BINARY_DIR}/imm32.def)
+set_rc_compiler()
-add_library(imm32 SHARED imm.c version.rc)
+spec2def(imm32.dll imm32.spec)
-set_target_properties(imm32 PROPERTIES LINK_FLAGS "-Wl,-entry,_DllMain@12")
+list(APPEND SOURCE
+ imm.c
+ version.rc
+ ${CMAKE_CURRENT_BINARY_DIR}/imm32_stubs.c
+ ${CMAKE_CURRENT_BINARY_DIR}/imm32.def)
-target_link_libraries(imm32
- ${CMAKE_CURRENT_BINARY_DIR}/imm32.def
- wine
- ${REACTOS_SOURCE_DIR}/dll/win32/advapi32/libadvapi32.a
- ${REACTOS_SOURCE_DIR}/dll/win32/user32/libuser32.a
- mingw_common)
+add_library(imm32 SHARED ${SOURCE})
-add_dependencies(imm32 imm32_def psdk)
+set_module_type(imm32 win32dll)
+target_link_libraries(imm32 wine)
+add_importlibs(imm32 advapi32 user32 msvcrt kernel32 ntdll)
+add_cd_file(TARGET imm32 DESTINATION reactos/system32 FOR all)
+add_importlib_target(imm32.spec)