mirror of
https://github.com/reactos/reactos.git
synced 2024-08-08 04:08:29 +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
35 lines
1,007 B
CMake
35 lines
1,007 B
CMake
project(appcompat)
|
|
|
|
add_definitions(
|
|
-D__ROS_LONG64__
|
|
-DWINETEST_USE_DBGSTR_LONGLONG
|
|
-DUNICODE
|
|
-D_UNICODE
|
|
-D_ATL_NO_EXCEPTIONS)
|
|
|
|
|
|
include_directories(${REACTOS_SOURCE_DIR}/sdk/lib/atl
|
|
${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
list(APPEND SOURCE
|
|
apphelp.c
|
|
data.c
|
|
db.cpp
|
|
env.c
|
|
layerapi.c
|
|
register.cpp
|
|
testlist.c
|
|
testdata.rc
|
|
testdb.xml)
|
|
|
|
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/testdb.sdb
|
|
COMMAND native-xml2sdb -i ${CMAKE_CURRENT_SOURCE_DIR}/testdb.xml -o ${CMAKE_CURRENT_BINARY_DIR}/testdb.sdb
|
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/testdb.xml native-xml2sdb)
|
|
|
|
add_rc_deps(testdata.rc ${CMAKE_CURRENT_BINARY_DIR}/testdb.sdb)
|
|
add_executable(apphelp_apitest ${SOURCE})
|
|
set_module_type(apphelp_apitest win32cui)
|
|
target_link_libraries(apphelp_apitest ${PSEH_LIB} cpprt)
|
|
add_importlibs(apphelp_apitest advapi32 userenv version shlwapi msvcrt kernel32 ntdll)
|
|
add_rostests_file(TARGET apphelp_apitest)
|