* Sync up to trunk head (r64716).
[reactos.git] / dll / win32 / browseui / CMakeLists.txt
1 PROJECT(SHELL)
2
3 set_cpp(WITH_RUNTIME)
4
5 remove_definitions(-D_WIN32_WINNT=0x502)
6 add_definitions(-D_WIN32_WINNT=0x600)
7
8 include_directories(${REACTOS_SOURCE_DIR}/lib/atl)
9
10 spec2def(browseui.dll browseui.spec ADD_IMPORTLIB)
11
12 list(APPEND SOURCE
13 aclmulti.cpp
14 addressband.cpp
15 addresseditbox.cpp
16 bandproxy.cpp
17 bandsite.cpp
18 bandsitemenu.cpp
19 basebar.cpp
20 basebarsite.cpp
21 brandband.cpp
22 browseui.cpp
23 browseuiord.cpp
24 commonbrowser.cpp
25 desktopipc.cpp
26 globalfoldersettings.cpp
27 internettoolbar.cpp
28 parsecmdline.cpp
29 regtreeoptions.cpp
30 shellbrowser.cpp
31 toolsband.cpp
32 travellog.cpp
33 utility.cpp
34 precomp.h)
35
36 add_library(browseui SHARED
37 ${SOURCE}
38 dllinstall.c
39 browseui.rc
40 ${CMAKE_CURRENT_BINARY_DIR}/browseui.def)
41
42 set_module_type(browseui win32dll UNICODE)
43
44 target_link_libraries(browseui
45 atlnew
46 uuid
47 wine)
48
49 add_importlibs(browseui
50 shlwapi
51 shell32
52 comctl32
53 gdi32
54 ole32
55 oleaut32
56 user32
57 advapi32
58 msvcrt
59 kernel32
60 ntdll)
61
62 add_pch(browseui precomp.h SOURCE)
63 add_cd_file(TARGET browseui DESTINATION reactos/system32 FOR all)
64
65 if(NOT MSVC)
66 if(NOT CMAKE_C_COMPILER_ID STREQUAL "Clang")
67 add_target_compile_flags(browseui "-Wno-unused-but-set-variable")
68 endif()
69
70 # Binutils linker bug
71 if(LTCG)
72 add_target_link_flags(browseui "-Wl,--allow-multiple-definition")
73 endif()
74 endif()
75
76 add_custom_command(TARGET browseui POST_BUILD
77 COMMAND "${CMAKE_COMMAND}" -E copy
78 "$<TARGET_FILE:browseui>"
79 "$<TARGET_FILE_DIR:filebrowser>/$<TARGET_FILE_NAME:browseui>"
80 COMMENT "Copying to output directory")
81
82 add_custom_command(TARGET browseui POST_BUILD
83 COMMAND "${CMAKE_COMMAND}" -E copy
84 "$<TARGET_FILE:browseui>"
85 "$<TARGET_FILE_DIR:filebrowser>/$<TARGET_FILE_NAME:browseui>"
86 COMMENT "Copying to output directory")