reactos/base/shell/rshell/CMakeLists.txt
Jérôme Gardou d6ea8659c8 [CMAKE] Get rid of the set_cpp macro
Instead of messing with global variables and the like, we introduce two target properties:
 - WITH_CXX_EXCEPTIONS: if you want to use C++ exceptions
 - WITH_CXX_RTTI: if you need RTTI in your module
You can use the newly introduced set_target_cpp_properties function, with WITH_EXCEPTIONS and WITH_RTTI arguments
We also introduce two libraries :
 - cpprt: for C++ runtime routines
 - cppstl: for the C++ standard template library

NB: On GCC, this requires to create imported libraries with the related built-in libraries:libsupc++, limingwex, libstdc++

Finally, we manage the relevant flags with the ad-hoc generator expressions

So, if you don't need exceptions, nor RTTI, nor use any runtime at all: you simply have nothing else to do than add your C++ file to your module
2020-10-20 21:44:54 +02:00

53 lines
1 KiB
CMake

PROJECT(SHELL)
add_definitions(
-D_ATL_NO_EXCEPTIONS)
include_directories(
${REACTOS_SOURCE_DIR}/sdk/lib/atl)
spec2def(rshell.dll rshell.spec ADD_IMPORTLIB)
list(APPEND SOURCE
CQuickLaunchBand.cpp
misc.cpp
${CMAKE_CURRENT_BINARY_DIR}/rshell.def)
add_library(rshell MODULE ${SOURCE})
set_module_type(rshell win32dll UNICODE)
target_link_libraries(rshell
shellbars
shellmenu
shelldesktop
uuid
wine
cpprt)
add_importlibs(rshell
browseui
uxtheme
shlwapi
advapi32
shell32
comctl32
gdi32
ole32
user32
msvcrt
kernel32
ntdll)
add_custom_command(TARGET rshell POST_BUILD
COMMAND "${CMAKE_COMMAND}" -E copy
"$<TARGET_FILE:rshell>"
"$<TARGET_FILE_DIR:explorer>/$<TARGET_FILE_NAME:rshell>"
COMMENT "Copying to output directory")
add_custom_command(TARGET rshell POST_BUILD
COMMAND "${CMAKE_COMMAND}" -E copy
"$<TARGET_FILE:rshell>"
"$<TARGET_FILE_DIR:filebrowser>/$<TARGET_FILE_NAME:rshell>"
COMMENT "Copying to output directory")