xref: /reactos/dll/win32/browseui/CMakeLists.txt (revision 0c2cdcae)
1PROJECT(SHELL)
2
3add_subdirectory(shellbars)
4add_subdirectory(shellfind)
5
6spec2def(browseui.dll browseui.spec ADD_IMPORTLIB)
7
8list(APPEND SOURCE
9    ACLCustomMRU.cpp
10    ACLCustomMRU.h
11    aclhistory.cpp
12    aclistisf.cpp
13    aclmulti.cpp
14    addressband.cpp
15    addresseditbox.cpp
16    bandproxy.cpp
17    basebarsite.cpp
18    brandband.cpp
19    browseui.cpp
20    browseuiord.cpp
21    CAutoComplete.cpp
22    CShellTaskScheduler.cpp
23    CShellTaskScheduler.h
24    CTaskbarList.cpp
25    CTaskbarList.h
26    commonbrowser.cpp
27    desktopipc.cpp
28    globalfoldersettings.cpp
29    internettoolbar.cpp
30    parsecmdline.cpp
31    regtreeoptions.cpp
32    settings.cpp
33    shellbrowser.cpp
34    toolsband.cpp
35    travellog.cpp
36    CProgressDialog.cpp
37    CUserAssist.cpp
38    CUserAssist.h)
39
40list(APPEND PCH_SKIP_SOURCE
41    dllinstall.c)
42
43add_library(browseui MODULE
44    ${SOURCE}
45    ${PCH_SKIP_SOURCE}
46    browseui.rc
47    ${CMAKE_CURRENT_BINARY_DIR}/browseui.def)
48
49set_module_type(browseui win32dll UNICODE)
50target_link_libraries(browseui shellbars shellfind uuid wine cpprt atl_classes)
51add_importlibs(browseui uxtheme shlwapi shell32 comctl32 gdi32 ole32 oleaut32 user32 advapi32 mpr msvcrt kernel32 ntdll)
52add_pch(browseui precomp.h "${PCH_SKIP_SOURCE}")
53add_cd_file(TARGET browseui DESTINATION reactos/system32 FOR all)
54
55if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
56    target_compile_options(browseui PRIVATE -Wno-unused-but-set-variable)
57endif()
58
59if(NOT MSVC)
60    # Binutils linker bug
61    if(LTCG)
62        target_link_options(browseui PRIVATE "-Wl,--allow-multiple-definition")
63    endif()
64endif()
65
66add_custom_command(TARGET browseui POST_BUILD
67  COMMAND "${CMAKE_COMMAND}" -E copy
68     "$<TARGET_FILE:browseui>"
69     "$<TARGET_FILE_DIR:filebrowser>/$<TARGET_FILE_NAME:browseui>"
70  COMMENT "Copying to output directory")
71