mirror of
https://github.com/reactos/reactos.git
synced 2024-10-03 07:53:49 +00:00
2e51363fef
This is a squashed backport of the following commits: 0.4.13-RC-53-g4f628f6b16
(partial pick of shell32-changes for Miranda CORE-14439 & Winamp CORE-13584, explorer left out) 0.4.14-dev-369-g141cf04239
(#2046) NTUSER 0.4.15-dev-1126-g58b0558f94
(#3294) NTUSER 0.4.15-dev-2618-g32b0cf6fc6
(#3697) NTUSER 0.4.15-dev-2621-g59d4c11203
(#3700) NTUSER 0.4.15-dev-5242-ge6fb0e0c25
(#4800) Cleanup brings us closer to releases/0.4.14 In the older branches it will fix the following bugs (or prevents introducing them): CORE-13584 'Winamp 5.666 erroneously has a secret tab shown in taskbar' CORE-14380 'Effective File Search 6.8.1 when you open up the app via desktop link there is no pane in taskbar' CORE-14439 'Miranda IM 0.10.21 snap-to-monitor-border-feature brings ros to halt' CORE-15655 'Click-N-Type Virtual Keyboard 3.03.0412 has no taskbar pane' CORE-15669 'DVD Write Now 1.5.12 SP2 setup has no taskbar pane' CORE-15716 'Photofiltr 7.2.1 has no taskbar pane' CORE-15731 'Java JRE 6u45 setup, last page of setup has no taskbar pane' CORE-16030 'Moo0 Audio Recorder - the taskbar icon does not appear' (CORE-17330 Regression, many installers that should have only 1 taskbar pane, now have 2 of them erroneously)
120 lines
3.1 KiB
CMake
120 lines
3.1 KiB
CMake
PROJECT(SHELL)
|
|
|
|
add_subdirectory(shelldesktop)
|
|
add_subdirectory(shellmenu)
|
|
add_subdirectory(shellrecyclebin)
|
|
|
|
set_cpp(WITH_RUNTIME)
|
|
spec2def(shell32.dll shell32.spec ADD_IMPORTLIB)
|
|
|
|
if(NOT MSVC)
|
|
# HACK: this should be enabled globally!
|
|
add_compile_flags_language("-std=c++11" "CXX")
|
|
endif()
|
|
|
|
remove_definitions(-D_WIN32_WINNT=0x502)
|
|
add_definitions(-D_WIN32_WINNT=0x600)
|
|
|
|
add_definitions(
|
|
-D_SHELL32_
|
|
-D_WINE
|
|
-D_ATL_NO_EXCEPTIONS)
|
|
|
|
include_directories(
|
|
${REACTOS_SOURCE_DIR}/sdk/lib/atl
|
|
${REACTOS_SOURCE_DIR})
|
|
|
|
list(APPEND SOURCE
|
|
CIDLDataObj.cpp
|
|
CQueryAssociations.cpp
|
|
debughlp.cpp
|
|
dialogs/dialogs.cpp
|
|
dialogs/drive.cpp
|
|
dialogs/drvdefext.cpp
|
|
dialogs/filedefext.cpp
|
|
dialogs/filetypes.cpp
|
|
dialogs/folder_options.cpp
|
|
dialogs/fprop.cpp
|
|
dialogs/general.cpp
|
|
dialogs/recycler_prop.cpp
|
|
dialogs/view.cpp
|
|
CDropTargetHelper.cpp
|
|
CEnumIDListBase.cpp
|
|
CExtractIcon.cpp
|
|
folders.cpp
|
|
iconcache.cpp
|
|
shell32.cpp
|
|
CShellItem.cpp
|
|
CShellLink.cpp
|
|
CFolderOptions.cpp
|
|
folders/CDesktopFolder.cpp
|
|
folders/CFSFolder.cpp
|
|
folders/CDrivesFolder.cpp
|
|
folders/CMyDocsFolder.cpp
|
|
folders/CPrinterFolder.cpp
|
|
folders/CAdminToolsFolder.cpp
|
|
folders/CNetFolder.cpp
|
|
folders/CFontsFolder.cpp
|
|
folders/CControlPanelFolder.cpp
|
|
folders/CRecycleBin.cpp
|
|
folders/CRegFolder.cpp
|
|
droptargets/CexeDropHandler.cpp
|
|
droptargets/CFSDropTarget.cpp
|
|
droptargets/CRecyclerDropTarget.cpp
|
|
shlexec.cpp
|
|
shlfileop.cpp
|
|
shlfolder.cpp
|
|
CFileSysBindData.cpp
|
|
CDefView.cpp
|
|
CDefViewDual.cpp
|
|
CDefViewBckgrndMenu.cpp
|
|
stubs.cpp
|
|
systray.cpp
|
|
CUserNotification.cpp
|
|
CDefaultContextMenu.cpp
|
|
COpenWithMenu.cpp
|
|
CNewMenu.cpp
|
|
CShellDispatch.cpp
|
|
CFolder.cpp
|
|
CFolderItems.cpp
|
|
CFolderItemVerbs.cpp
|
|
precomp.h)
|
|
|
|
file(GLOB_RECURSE shell32_rc_deps res/*.*)
|
|
list(APPEND shell32_rc_deps ${CMAKE_CURRENT_BINARY_DIR}/shell32_shldisp.tlb)
|
|
add_rc_deps(shell32.rc ${shell32_rc_deps})
|
|
|
|
add_library(shell32 SHARED
|
|
${SOURCE}
|
|
wine/appbar.c
|
|
wine/brsfolder.c
|
|
wine/changenotify.c
|
|
wine/classes.c
|
|
wine/clipboard.c
|
|
wine/control.c
|
|
wine/pidl.c
|
|
wine/shell32_main.c
|
|
wine/shellole.c
|
|
wine/shellord.c
|
|
wine/shellpath.c
|
|
wine/shellreg.c
|
|
wine/shellstring.c
|
|
wine/shlmenu.c
|
|
wine/shpolicy.c
|
|
vista.c
|
|
shell32.rc
|
|
${CMAKE_CURRENT_BINARY_DIR}/shell32_stubs.c
|
|
${CMAKE_CURRENT_BINARY_DIR}/shell32.def)
|
|
|
|
|
|
add_typelib(shell32_shldisp.idl)
|
|
set_source_files_properties(shell32.rc PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/shell32_shldisp.tlb)
|
|
|
|
set_module_type(shell32 win32dll UNICODE)
|
|
target_link_libraries(shell32 shellmenu shelldesktop atlnew wine uuid recyclebin)
|
|
add_delay_importlibs(shell32 powrprof shdocvw devmgr winspool.drv winmm mpr uxtheme ole32 oleaut32 userenv browseui version fmifs)
|
|
add_importlibs(shell32 advapi32 gdi32 user32 comctl32 comdlg32 shlwapi msvcrt kernel32 ntdll)
|
|
add_dependencies(shell32 stdole2) # shell32_shldisp.tlb needs stdole2.tlb
|
|
add_pch(shell32 precomp.h SOURCE)
|
|
add_cd_file(TARGET shell32 DESTINATION reactos/system32 FOR all)
|