-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)