xref: /reactos/dll/win32/shlwapi/CMakeLists.txt (revision 40462c92)
1
2project(SHELL)
3
4remove_definitions(-D_WIN32_WINNT=0x502)
5add_definitions(-D_WIN32_WINNT=0x600)
6
7add_definitions(
8    -D__WINESRC__
9    -D_SHLWAPI_)
10
11spec2def(shlwapi.dll shlwapi.spec ADD_IMPORTLIB)
12
13list(APPEND SOURCE
14    assoc.c
15    clist.c
16    istream.c
17    msgbox.c
18    ordinal.c
19    path.c
20    reg.c
21    regstream.c
22    rosordinal.c
23    shlwapi_main.c
24    stopwatch.c
25    string.c
26    thread.c
27    url.c)
28
29list(APPEND PCH_SKIP_SOURCE
30    autocomp.cpp
31    wsprintf.c
32    ${CMAKE_CURRENT_BINARY_DIR}/shlwapi_stubs.c)
33
34add_library(shlwapi MODULE
35    ${SOURCE}
36    ${PCH_SKIP_SOURCE}
37    shlwapi.rc
38    ${CMAKE_CURRENT_BINARY_DIR}/shlwapi.def)
39
40# our C++ atlbase.h conflicts with the one from wine, so only use wine includes for C
41target_include_directories(shlwapi BEFORE PRIVATE $<$<COMPILE_LANGUAGE:C>:${REACTOS_SOURCE_DIR}/sdk/include/reactos/wine>)
42
43set_module_type(shlwapi win32dll UNICODE)
44target_link_libraries(shlwapi uuid wine cpprt atl_classes)
45add_delay_importlibs(shlwapi userenv oleaut32 ole32 comdlg32 mpr mlang urlmon shell32 winmm version)
46add_importlibs(shlwapi user32 gdi32 advapi32 wininet msvcrt kernel32 ntdll)
47add_pch(shlwapi precomp.h "${PCH_SKIP_SOURCE}")
48add_cd_file(TARGET shlwapi DESTINATION reactos/system32 FOR all)
49