[SDK] One step further towards ReactOS source code tree restructure: the sdk folder...
[reactos.git] / reactos / dll / win32 / shell32 / CMakeLists.txt
1 PROJECT(SHELL)
2
3 add_subdirectory(shelldesktop)
4 add_subdirectory(shellmenu)
5
6 set_cpp(WITH_RUNTIME)
7 spec2def(shell32.dll shell32.spec ADD_IMPORTLIB)
8
9 if(NOT MSVC)
10 # HACK: this should be enabled globally!
11 add_compile_flags_language("-std=c++11" "CXX")
12 endif()
13
14 remove_definitions(-D_WIN32_WINNT=0x502)
15 add_definitions(-D_WIN32_WINNT=0x600)
16
17 add_definitions(
18 -D_SHELL32_
19 -D_WINE)
20
21 include_directories(
22 ${REACTOS_SOURCE_DIR}/sdk/lib/recyclebin
23 ${REACTOS_SOURCE_DIR}/sdk/lib/atl
24 ${REACTOS_SOURCE_DIR})
25
26 list(APPEND SOURCE
27 CIDLDataObj.cpp
28 CQueryAssociations.cpp
29 debughlp.cpp
30 dialogs/dialogs.cpp
31 dialogs/drive.cpp
32 dialogs/drvdefext.cpp
33 dialogs/folder_options.cpp
34 dialogs/filedefext.cpp
35 dialogs/fprop.cpp
36 dialogs/recycler_prop.cpp
37 CDropTargetHelper.cpp
38 CEnumIDListBase.cpp
39 CExtractIcon.cpp
40 folders.cpp
41 iconcache.cpp
42 shell32.cpp
43 CShellItem.cpp
44 CShellLink.cpp
45 folders/CDesktopFolder.cpp
46 folders/CFSFolder.cpp
47 folders/CDrivesFolder.cpp
48 folders/CMyDocsFolder.cpp
49 folders/CPrinterFolder.cpp
50 folders/CAdminToolsFolder.cpp
51 folders/CNetFolder.cpp
52 folders/CFontsFolder.cpp
53 folders/CControlPanelFolder.cpp
54 folders/CRecycleBin.cpp
55 droptargets/CexeDropHandler.cpp
56 shlexec.cpp
57 shlfileop.cpp
58 shlfolder.cpp
59 CFileSysBindData.cpp
60 CDefView.cpp
61 CDefViewDual.cpp
62 stubs.cpp
63 systray.cpp
64 CDefaultContextMenu.cpp
65 COpenWithMenu.cpp
66 CNewMenu.cpp
67 CShell.cpp
68 CFolder.cpp
69 CFolderItems.cpp
70 CFolderItemVerbs.cpp
71 precomp.h)
72
73 add_library(shell32 SHARED
74 ${SOURCE}
75 wine/brsfolder.c
76 wine/changenotify.c
77 wine/classes.c
78 wine/clipboard.c
79 wine/control.c
80 wine/pidl.c
81 wine/shell32_main.c
82 wine/shellole.c
83 wine/shellord.c
84 wine/shellpath.c
85 wine/shellreg.c
86 wine/shellstring.c
87 wine/shlmenu.c
88 wine/shpolicy.c
89 vista.c
90 shell32.rc
91 ${CMAKE_CURRENT_BINARY_DIR}/shell32_stubs.c
92 ${CMAKE_CURRENT_BINARY_DIR}/shell32.def)
93
94
95 add_typelib(shell32_shldisp.idl)
96 set_source_files_properties(shell32.rc PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/shell32_shldisp.tlb)
97
98 set_module_type(shell32 win32dll UNICODE)
99 target_link_libraries(shell32 shellmenu shelldesktop atlnew wine uuid recyclebin)
100 add_delay_importlibs(shell32 uxtheme ole32 oleaut32 userenv version fmifs)
101 add_importlibs(shell32 advapi32 browseui gdi32 user32 powrprof comctl32 comdlg32 shdocvw shlwapi devmgr winspool winmm mpr msvcrt kernel32 ntdll)
102 add_pch(shell32 precomp.h SOURCE)
103 add_cd_file(TARGET shell32 DESTINATION reactos/system32 FOR all)