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