reactos/dll/directx/wine/quartz/CMakeLists.txt
Jérôme Gardou 23373acbb9 [CMAKE] Use modules instead of shared libraries
There is no need to compile our DLLs as shared libraries since we are
managing symbols exports and imports through spec files.

On my system, this reduces the configure-time by a factor of two.
2019-04-06 17:43:38 +02:00

62 lines
1.6 KiB
CMake

remove_definitions(-D_WIN32_WINNT=0x502)
add_definitions(-D_WIN32_WINNT=0x600)
add_definitions(
-D__WINESRC__
-DENTRY_PREFIX=QUARTZ_
-DWINE_REGISTER_DLL
-DPROXY_DELEGATION)
include_directories(${REACTOS_SOURCE_DIR}/sdk/include/reactos/wine)
spec2def(quartz.dll quartz.spec)
add_rpcproxy_files(quartz_strmif.idl)
list(APPEND SOURCE
acmwrapper.c
avidec.c
avisplit.c
dsoundrender.c
enumfilters.c
enummedia.c
enummoniker.c
enumregfilters.c
filesource.c
filtergraph.c
filtermapper.c
main.c
memallocator.c
mpegsplit.c
nullrenderer.c
parser.c
pin.c
regsvr.c
systemclock.c
videorenderer.c
vmr9.c
waveparser.c
precomp.h)
add_library(quartz MODULE
${SOURCE}
${CMAKE_CURRENT_BINARY_DIR}/proxy.dlldata.c
${CMAKE_CURRENT_BINARY_DIR}/quartz_strmif_p.c
${CMAKE_CURRENT_BINARY_DIR}/quartz.def
version.rc)
add_idl_headers(quartz_idlheader fil_data.idl)
add_typelib(control_tlb.idl)
list(APPEND quartz_rc_deps
${CMAKE_CURRENT_BINARY_DIR}/control_tlb.tlb
${CMAKE_CURRENT_SOURCE_DIR}/control_tlb.rgs
${CMAKE_CURRENT_SOURCE_DIR}/quartz_strmif.rgs)
set_source_files_properties(version.rc PROPERTIES OBJECT_DEPENDS "${quartz_rc_deps}")
set_module_type(quartz win32dll)
target_link_libraries(quartz strmbase strmiids uuid dxguid wine ${PSEH_LIB})
add_importlibs(quartz dsound msacm32 msvfw32 ole32 oleaut32 rpcrt4 user32 gdi32 advapi32 advapi32_vista shlwapi msvcrt kernel32 ntdll)
add_dependencies(quartz dxsdk quartz_idlheader stdole2)
add_pch(quartz precomp.h SOURCE)
add_cd_file(TARGET quartz DESTINATION reactos/system32 FOR all)