mirror of
https://github.com/reactos/reactos.git
synced 2024-09-06 19:02:32 +00:00
![Jérôme Gardou](/assets/img/avatar_default.png)
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
30 lines
866 B
CMake
30 lines
866 B
CMake
|
|
list(APPEND SOURCE
|
|
CConfiguration.cpp
|
|
CFatalException.cpp
|
|
CInvalidParameterException.cpp
|
|
CJournaledTestList.cpp
|
|
CPipe.cpp
|
|
CPipedProcess.cpp
|
|
CProcess.cpp
|
|
CSimpleException.cpp
|
|
CTestList.cpp
|
|
CVirtualTestList.cpp
|
|
CWebService.cpp
|
|
CWineTest.cpp
|
|
main.cpp
|
|
misc.cpp
|
|
shutdown.cpp
|
|
tools.cpp
|
|
precomp.h)
|
|
|
|
add_executable(rosautotest ${SOURCE} ${CMAKE_CURRENT_BINARY_DIR}/rosautotestmsg.rc)
|
|
target_link_libraries(rosautotest cppstl)
|
|
set_target_cpp_properties(rosautotest WITH_EXCEPTIONS)
|
|
set_module_type(rosautotest win32cui UNICODE)
|
|
add_importlibs(rosautotest advapi32 shell32 user32 wininet msvcrt kernel32 ntdll)
|
|
add_pch(rosautotest precomp.h SOURCE)
|
|
add_message_headers(ANSI rosautotestmsg.mc)
|
|
add_dependencies(rosautotest rosautotestmsg)
|
|
add_cd_file(TARGET rosautotest DESTINATION reactos/system32 FOR all)
|