mirror of
https://github.com/reactos/reactos.git
synced 2024-10-06 01:13:38 +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
25 lines
674 B
CMake
25 lines
674 B
CMake
|
|
if(NOT MSVC)
|
|
# HACK: this should be enabled globally!
|
|
add_compile_flags_language("-std=c++11" "CXX")
|
|
endif()
|
|
|
|
include_directories(
|
|
${REACTOS_SOURCE_DIR}/sdk/lib/atl
|
|
includes)
|
|
|
|
list(APPEND SOURCE
|
|
ACListISF.cpp
|
|
IACLCustomMRU.cpp
|
|
SHEnumClassesOfCategories.cpp
|
|
SHExplorerParseCmdLine.c
|
|
testlist.c)
|
|
|
|
add_executable(browseui_apitest ${SOURCE})
|
|
target_link_libraries(browseui_apitest uuid wine cpprt)
|
|
|
|
set_target_cpp_properties(browseui_apitest WITH_EXCEPTIONS WITH_RTTI)
|
|
set_module_type(browseui_apitest win32cui)
|
|
add_importlibs(browseui_apitest advapi32 shell32 ole32 shlwapi msvcrt kernel32 ntdll)
|
|
add_rostests_file(TARGET browseui_apitest)
|