reactos/modules/rostests/apitests/atl/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

37 lines
882 B
CMake

add_definitions(-DINITGUID -DWINETEST_USE_DBGSTR_LONGLONG)
include_directories(${REACTOS_SOURCE_DIR}/sdk/lib/atl)
list(APPEND SOURCE
atltypes.cpp
CAtlFileMapping.cpp
CAtlArray.cpp
CAtlList.cpp
CComBSTR.cpp
CComHeapPtr.cpp
CComObject.cpp
CComQIPtr.cpp
CComVariant.cpp
CHeapPtrList.cpp
CImage.cpp
CRegKey.cpp
CSimpleArray.cpp
CSimpleMap.cpp
CString.cpp)
list(APPEND PCH_SKIP_SOURCE
testlist.c)
add_executable(atl_apitest
${SOURCE}
${PCH_SKIP_SOURCE}
atl_apitest.rc)
target_link_libraries(atl_apitest wine uuid cpprt)
set_target_cpp_properties(atl_apitest WITH_EXCEPTIONS)
set_module_type(atl_apitest win32cui)
add_importlibs(atl_apitest rpcrt4 ole32 oleaut32 msimg32 gdi32 advapi32 user32 msvcrt kernel32 ntdll)
add_pch(atl_apitest precomp.h "${PCH_SKIP_SOURCE}")
add_rostests_file(TARGET atl_apitest)