mirror of
https://github.com/reactos/reactos.git
synced 2024-10-08 02:13:56 +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
68 lines
1.4 KiB
CMake
68 lines
1.4 KiB
CMake
|
|
|
|
remove_definitions(-D_WIN32_WINNT=0x502)
|
|
add_definitions(-D_WIN32_WINNT=0x600)
|
|
|
|
spec2def(portcls.sys portcls.spec ADD_IMPORTLIB)
|
|
|
|
list(APPEND SOURCE
|
|
adapter.cpp
|
|
api.cpp
|
|
connection.cpp
|
|
dispatcher.cpp
|
|
dll.cpp
|
|
dma_slave.cpp
|
|
drm.cpp
|
|
drm_port.cpp
|
|
filter_topology.cpp
|
|
filter_dmus.cpp
|
|
filter_wavecyclic.cpp
|
|
filter_wavepci.cpp
|
|
filter_wavert.cpp
|
|
interrupt.cpp
|
|
irp.cpp
|
|
irpstream.cpp
|
|
miniport.cpp
|
|
miniport_dmus.cpp
|
|
miniport_fmsynth.cpp
|
|
pin_dmus.cpp
|
|
pin_wavecyclic.cpp
|
|
pin_wavepci.cpp
|
|
pin_wavert.cpp
|
|
pool.cpp
|
|
port.cpp
|
|
port_dmus.cpp
|
|
port_topology.cpp
|
|
port_wavecyclic.cpp
|
|
port_wavepci.cpp
|
|
port_wavert.cpp
|
|
port_wavertstream.cpp
|
|
power.cpp
|
|
propertyhandler.cpp
|
|
purecall.cpp
|
|
registry.cpp
|
|
resource.cpp
|
|
service_group.cpp
|
|
undoc.cpp
|
|
unregister.cpp
|
|
version.cpp)
|
|
|
|
list(APPEND PCH_SKIP_SOURCE
|
|
guid.cpp)
|
|
|
|
add_library(portcls MODULE
|
|
${SOURCE}
|
|
${PCH_SKIP_SOURCE}
|
|
portcls.rc
|
|
${CMAKE_CURRENT_BINARY_DIR}/portcls.def)
|
|
|
|
if(USE_CLANG_CL)
|
|
target_compile_options(portcls PRIVATE "-Wno-missing-braces")
|
|
endif()
|
|
|
|
target_link_libraries(portcls libcntpr ${PSEH_LIB})
|
|
set_module_type(portcls kernelmodedriver ENTRYPOINT 0 )
|
|
add_pch(portcls private.hpp "${PCH_SKIP_SOURCE}")
|
|
add_importlibs(portcls ntoskrnl ks drmk hal)
|
|
add_cd_file(TARGET portcls DESTINATION reactos/system32/drivers FOR all)
|