mirror of
https://github.com/reactos/reactos.git
synced 2024-10-02 15:34:13 +00:00
d6ea8659c8
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
40 lines
1.1 KiB
CMake
40 lines
1.1 KiB
CMake
|
|
PROJECT(msconfig_new)
|
|
|
|
include_directories(
|
|
.
|
|
comctl32ex
|
|
${REACTOS_SOURCE_DIR}/sdk/include/c++
|
|
${REACTOS_SOURCE_DIR}/sdk/lib/atl)
|
|
|
|
list(APPEND C_SOURCE
|
|
comctl32ex/comctl32supp.c
|
|
comctl32ex/listview.c
|
|
comctl32ex/treeview.c
|
|
comctl32ex/uxthemesupp.c
|
|
fileextractdialog.c
|
|
fileutils.c
|
|
freeldrpage.c
|
|
generalpage.c
|
|
msconfig.c
|
|
regutils.c
|
|
# startuppage.c
|
|
stringutils.c
|
|
utils.c)
|
|
|
|
list(APPEND CPP_SOURCE
|
|
systempage.cpp
|
|
srvpage.cpp
|
|
toolspage.cpp
|
|
xmldomparser.cpp
|
|
precomp.h)
|
|
|
|
add_rc_deps(msconfig.rc ${CMAKE_CURRENT_SOURCE_DIR}/res/msconfig.ico)
|
|
add_executable(msconfig_new ${C_SOURCE} ${CPP_SOURCE} msconfig.rc)
|
|
add_pch(msconfig_new precomp.h CPP_SOURCE)
|
|
set_module_type(msconfig_new win32gui UNICODE)
|
|
target_link_libraries(msconfig_new comsupp cpprt)
|
|
set_target_cpp_properties(msconfig_new WITH_EXCEPTIONS)
|
|
add_importlibs(msconfig_new user32 gdi32 comctl32 comdlg32 advapi32 version ole32 oleaut32 msxml3 shell32 shlwapi msvcrt kernel32)
|
|
add_cd_file(TARGET msconfig_new DESTINATION reactos/system32 FOR all)
|