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