xref: /reactos/dll/win32/browseui/CMakeLists.txt (revision d7fd62d4)
1PROJECT(SHELL)
2
3add_subdirectory(shellbars)
4add_subdirectory(shellfind)
5
6set_cpp(WITH_RUNTIME)
7
8add_definitions(
9    -D_ATL_NO_EXCEPTIONS)
10
11include_directories(${REACTOS_SOURCE_DIR}/sdk/lib/atl)
12spec2def(browseui.dll browseui.spec ADD_IMPORTLIB)
13
14list(APPEND SOURCE
15    ACLCustomMRU.cpp
16    ACLCustomMRU.h
17    aclistisf.cpp
18    aclmulti.cpp
19    addressband.cpp
20    addresseditbox.cpp
21    bandproxy.cpp
22    basebarsite.cpp
23    brandband.cpp
24    browseui.cpp
25    browseuiord.cpp
26    CAutoComplete.cpp
27    CTaskbarList.cpp
28    CTaskbarList.h
29    commonbrowser.cpp
30    desktopipc.cpp
31    explorerband.cpp
32    globalfoldersettings.cpp
33    internettoolbar.cpp
34    parsecmdline.cpp
35    regtreeoptions.cpp
36    shellbrowser.cpp
37    toolsband.cpp
38    travellog.cpp
39    utility.cpp
40    CProgressDialog.cpp)
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)
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(NOT MSVC)
58    target_compile_options(browseui PRIVATE "-Wno-unused-but-set-variable")
59    # Binutils linker bug
60    if(LTCG)
61        add_target_link_flags(browseui "-Wl,--allow-multiple-definition")
62    endif()
63endif()
64
65add_custom_command(TARGET browseui POST_BUILD
66  COMMAND "${CMAKE_COMMAND}" -E copy
67     "$<TARGET_FILE:browseui>"
68     "$<TARGET_FILE_DIR:filebrowser>/$<TARGET_FILE_NAME:browseui>"
69  COMMENT "Copying to output directory")
70