mirror of
https://github.com/reactos/reactos.git
synced 2024-07-04 19:54:58 +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
48 lines
1.2 KiB
CMake
48 lines
1.2 KiB
CMake
|
|
project(SHELL)
|
|
|
|
|
|
if(NOT MSVC)
|
|
# HACK: this should be enabled globally!
|
|
add_compile_flags_language("-std=c++11 -Wshadow" "CXX")
|
|
endif()
|
|
|
|
remove_definitions(-D_WIN32_WINNT=0x502)
|
|
add_definitions(-D_WIN32_WINNT=0x600)
|
|
|
|
add_definitions(
|
|
-D_ATL_NO_EXCEPTIONS)
|
|
|
|
include_directories(${REACTOS_SOURCE_DIR}/sdk/lib/atl)
|
|
|
|
add_definitions(-D_NETSHELL_)
|
|
spec2def(netshell.dll netshell.spec)
|
|
|
|
list(APPEND SOURCE
|
|
netshell.cpp
|
|
shfldr_netconnect.cpp
|
|
enumlist.cpp
|
|
connectmanager.cpp
|
|
lanconnectui.cpp
|
|
lanstatusui.cpp
|
|
setup.cpp)
|
|
|
|
list(APPEND PCH_SKIP_SOURCE
|
|
${CMAKE_CURRENT_BINARY_DIR}/netshell_stubs.c)
|
|
|
|
file(GLOB netshell_rc_deps res/*.*)
|
|
add_rc_deps(netshell.rc ${netshell_rc_deps})
|
|
|
|
add_library(netshell MODULE
|
|
${SOURCE}
|
|
${PCH_SKIP_SOURCE}
|
|
netshell.rc
|
|
${CMAKE_CURRENT_BINARY_DIR}/netshell.def)
|
|
|
|
set_module_type(netshell win32dll UNICODE)
|
|
target_link_libraries(netshell uuid wine cpprt)
|
|
add_delay_importlibs(netshell ole32 oleaut32 shlwapi shell32)
|
|
add_importlibs(netshell version iphlpapi gdi32 user32 advapi32 setupapi ws2_32 comctl32 msvcrt kernel32 ntdll)
|
|
add_pch(netshell precomp.h "${PCH_SKIP_SOURCE}")
|
|
add_cd_file(TARGET netshell DESTINATION reactos/system32 FOR all)
|