reactos/modules/rosapps/lib/vfdlib/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

38 lines
950 B
CMake

spec2def(vfd.dll vfdlib.spec ADD_IMPORTLIB)
add_message_headers(ANSI vfdmsg_lib.mc)
list(APPEND SOURCE
vfdctl.c
vfdfat.c
vfdguiopen.c
vfdguisave.c
vfdguitip.c
vfdguiut.c
vfdlib.c
vfdshcfact.cpp
vfdshext.cpp
vfdshmenu.cpp
vfdshprop.cpp
vfdshutil.cpp
vfdzip.c)
if(DBG)
add_definitions(-D_DEBUG)
endif()
add_library(vfd MODULE
${SOURCE}
vfdlib.rc
${CMAKE_CURRENT_BINARY_DIR}/vfd.def)
include_directories(${REACTOS_SOURCE_DIR}/modules/rosapps/include/vfd
${REACTOS_SOURCE_DIR}/sdk/include/reactos/libs/zlib)
set_module_type(vfd win32dll ENTRYPOINT DllMain 12)
target_link_libraries(vfd zlib_solo uuid cppstl)
set_target_cpp_properties(vfd WITH_EXCEPTIONS)
add_importlibs(vfd advapi32 user32 gdi32 shell32 comdlg32 comctl32 ole32 version psapi msvcrt kernel32 ntdll)
add_dependencies(vfd vfdmsg_lib)
add_cd_file(TARGET vfd DESTINATION reactos/system32 FOR all)