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