reactos/dll/shellext/acppage/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

39 lines
981 B
CMake

project(appcompat)
if(NOT MSVC)
# HACK: this should be enabled globally!
add_compile_flags_language("-std=c++11" "CXX")
endif()
add_definitions(
-D_ATL_NO_EXCEPTIONS)
include_directories(
${REACTOS_SOURCE_DIR}/sdk/lib/atl
${REACTOS_SOURCE_DIR}/dll/appcompat/apphelp
${REACTOS_SOURCE_DIR})
spec2def(acppage.dll acppage.spec ADD_IMPORTLIB)
list(APPEND SOURCE
ACPPage.cpp
CEditCompatModes.cpp
CLayerUIPropPage.cpp
precomp.h)
add_library(acppage MODULE
${SOURCE}
acppage.spec
ACPPage.rc
CLayerUIPropPage.hpp
CLayerStringList.hpp
resource.h
${CMAKE_CURRENT_BINARY_DIR}/acppage.def)
set_module_type(acppage win32dll UNICODE)
target_link_libraries(acppage wine uuid cpprt)
add_delay_importlibs(acppage apphelp ole32 oleaut32 shlwapi comctl32 sfc_os)
add_importlibs(acppage shell32 user32 advapi32 msvcrt kernel32)
add_pch(acppage precomp.h SOURCE)
add_cd_file(TARGET acppage DESTINATION reactos/system32 FOR all)