[SHELL32] CDrivesFolder: Implement the eject and disconnect menu items. CORE-13841
[reactos.git] / dll / win32 / windowscodecs / CMakeLists.txt
index a0165d3..227552a 100644 (file)
@@ -1,59 +1,81 @@
 
-add_definitions(-D__WINESRC__)
+add_definitions(
+    -D__WINESRC__
+    -DENTRY_PREFIX=WIC_
+    -DPROXY_DELEGATION
+    -DWINE_REGISTER_DLL)
 
 remove_definitions(-D_WIN32_WINNT=0x502)
 add_definitions(-D_WIN32_WINNT=0x600)
 
 include_directories(
-    ${REACTOS_SOURCE_DIR}/include/reactos/wine
-    ${REACTOS_SOURCE_DIR}/include/reactos/libs/libjpeg
-    ${REACTOS_SOURCE_DIR}/include/reactos/libs/zlib
-    ${REACTOS_SOURCE_DIR}/include/reactos/libs/libpng
-    ${REACTOS_SOURCE_DIR}/include/reactos/libs/libtiff)
-set_rc_compiler()
+    BEFORE ${REACTOS_SOURCE_DIR}/sdk/include/reactos/wine
+    ${REACTOS_SOURCE_DIR}/sdk/include/reactos/libs/libjpeg
+    ${REACTOS_SOURCE_DIR}/sdk/include/reactos/libs/zlib
+    ${REACTOS_SOURCE_DIR}/sdk/include/reactos/libs/libpng
+    ${REACTOS_SOURCE_DIR}/sdk/include/reactos/libs/libtiff)
 
 if(MSVC)
     add_compile_flags("/FItypeof.h")
 endif()
 
-spec2def(windowscodecs.dll windowscodecs.spec)
+spec2def(windowscodecs.dll windowscodecs.spec ADD_IMPORTLIB)
+add_rpcproxy_files(windowscodecs_wincodec.idl)
 
 list(APPEND SOURCE
     bmpdecode.c
     bmpencode.c
+    clipper.c
     clsfactory.c
+    colorcontext.c
+    colortransform.c
     converter.c
     fliprotate.c
     gifformat.c
+    icnsformat.c
     icoformat.c
     imgfactory.c
     info.c
     jpegformat.c
     main.c
+    metadatahandler.c
+    metadataquery.c
     palette.c
     pngformat.c
     propertybag.c
+    proxy.c
     regsvr.c
+    scaler.c
     stream.c
+    tgaformat.c
     tiffformat.c
     ungif.c
-    version.rc
-    ${CMAKE_CURRENT_BINARY_DIR}/windowscodecs_stubs.c
-    ${CMAKE_CURRENT_BINARY_DIR}/windowscodecs.def)
+    wincodecs_private.h)
 
 if(MSVC)
-    set_source_files_properties(${REACTOS_BINARY_DIR}/include/psdk/wincodec_i.c PROPERTIES GENERATED TRUE)
-    list(APPEND SOURCE
-         ${REACTOS_BINARY_DIR}/include/psdk/wincodec_i.c)
+    if(ARCH STREQUAL "i386")
+        list(APPEND SOURCE msvc-thiscall.c)
+    endif()
+    set_source_files_properties(bitmap.c PROPERTIES COMPILE_FLAGS "/FImsvc.h")
+    list(APPEND ADDITIONAL_SOURCE bitmap.c)
+else()
+    list(APPEND SOURCE bitmap.c)
 endif()
 
-add_library(windowscodecs SHARED ${SOURCE})
-
-set_module_type(windowscodecs win32dll)
-
-target_link_libraries(windowscodecs wine uuid)
+list(APPEND ADDITIONAL_SOURCE
+    guid.c
+    version.rc
+    ${CMAKE_CURRENT_BINARY_DIR}/proxy.dlldata.c
+    ${CMAKE_CURRENT_BINARY_DIR}/windowscodecs_stubs.c
+    ${CMAKE_CURRENT_BINARY_DIR}/windowscodecs.def
+    ${CMAKE_CURRENT_BINARY_DIR}/windowscodecs_wincodec_p.c)
 
-add_importlibs(windowscodecs ole32 shlwapi advapi32 msvcrt kernel32 ntdll)
-add_importlib_target(windowscodecs.spec)
+add_library(windowscodecs SHARED
+    ${SOURCE}
+    ${ADDITIONAL_SOURCE})
 
+set_module_type(windowscodecs win32dll)
+target_link_libraries(windowscodecs wine uuid ${PSEH_LIB})
+add_importlibs(windowscodecs ole32 oleaut32 rpcrt4 shlwapi user32 gdi32 advapi32 advapi32_vista propsys msvcrt kernel32 ntdll)
+add_pch(windowscodecs wincodecs_private.h SOURCE)
 add_cd_file(TARGET windowscodecs DESTINATION reactos/system32 FOR all)