Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers...
[reactos.git] / dll / win32 / windowscodecs / CMakeLists.txt
diff --git a/dll/win32/windowscodecs/CMakeLists.txt b/dll/win32/windowscodecs/CMakeLists.txt
new file mode 100644 (file)
index 0000000..227552a
--- /dev/null
@@ -0,0 +1,81 @@
+
+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(
+    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 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
+    wincodecs_private.h)
+
+if(MSVC)
+    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()
+
+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_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)