mirror of
https://github.com/reactos/reactos.git
synced 2024-09-05 10:17:16 +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
38 lines
950 B
CMake
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)
|