xref: /reactos/dll/win32/browseui/CMakeLists.txt (revision 2ea03b5b)
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    explorerband.cpp
29    globalfoldersettings.cpp
30    internettoolbar.cpp
31    parsecmdline.cpp
32    regtreeoptions.cpp
33    settings.cpp
34    shellbrowser.cpp
35    toolsband.cpp
36    travellog.cpp
37    utility.cpp
38    CProgressDialog.cpp
39    CUserAssist.cpp
40    CUserAssist.h)
41
42list(APPEND PCH_SKIP_SOURCE
43    dllinstall.c)
44
45add_library(browseui MODULE
46    ${SOURCE}
47    ${PCH_SKIP_SOURCE}
48    browseui.rc
49    ${CMAKE_CURRENT_BINARY_DIR}/browseui.def)
50
51set_module_type(browseui win32dll UNICODE)
52target_link_libraries(browseui shellbars shellfind uuid wine cpprt atl_classes)
53add_importlibs(browseui uxtheme shlwapi shell32 comctl32 gdi32 ole32 oleaut32 user32 advapi32 mpr msvcrt kernel32 ntdll)
54add_pch(browseui precomp.h "${PCH_SKIP_SOURCE}")
55add_cd_file(TARGET browseui DESTINATION reactos/system32 FOR all)
56
57if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
58    target_compile_options(browseui PRIVATE -Wno-unused-but-set-variable)
59endif()
60
61if(NOT MSVC)
62    # Binutils linker bug
63    if(LTCG)
64        target_link_options(browseui PRIVATE "-Wl,--allow-multiple-definition")
65    endif()
66endif()
67
68add_custom_command(TARGET browseui POST_BUILD
69  COMMAND "${CMAKE_COMMAND}" -E copy
70     "$<TARGET_FILE:browseui>"
71     "$<TARGET_FILE_DIR:filebrowser>/$<TARGET_FILE_NAME:browseui>"
72  COMMENT "Copying to output directory")
73