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