mirror of
https://github.com/reactos/reactos.git
synced 2024-10-05 00:43:21 +00:00
d6ea8659c8
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
38 lines
965 B
CMake
38 lines
965 B
CMake
PROJECT(SHELL)
|
|
|
|
add_definitions(-D_ATL_NO_EXCEPTIONS)
|
|
include_directories(${REACTOS_SOURCE_DIR}/sdk/lib/atl)
|
|
|
|
list(APPEND SOURCE
|
|
appbar.cpp
|
|
desktop.cpp
|
|
explorer.cpp
|
|
notifyiconscust.cpp
|
|
rshell.cpp
|
|
settings.cpp
|
|
shellservice.cpp
|
|
startctxmnu.cpp
|
|
startmnu.cpp
|
|
startmnucust.cpp
|
|
startmnusite.cpp
|
|
startup.cpp
|
|
syspager.cpp
|
|
taskband.cpp
|
|
taskswnd.cpp
|
|
tbsite.cpp
|
|
trayclock.cpp
|
|
trayntfy.cpp
|
|
trayprop.cpp
|
|
traywnd.cpp
|
|
util.cpp
|
|
precomp.h)
|
|
|
|
file(GLOB explorer_rc_deps res/*.*)
|
|
add_rc_deps(explorer.rc ${explorer_rc_deps})
|
|
add_executable(explorer ${SOURCE} explorer.rc)
|
|
target_link_libraries(explorer uuid wine cpprt)
|
|
set_module_type(explorer win32gui UNICODE)
|
|
add_importlibs(explorer advapi32 gdi32 user32 comctl32 ole32 oleaut32 shell32 browseui shlwapi shdocvw version uxtheme msvcrt kernel32 ntdll)
|
|
add_pch(explorer precomp.h SOURCE)
|
|
add_cd_file(TARGET explorer DESTINATION reactos FOR all)
|