mirror of
https://github.com/reactos/reactos.git
synced 2025-01-01 03:54:02 +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
37 lines
887 B
CMake
37 lines
887 B
CMake
|
|
|
|
include_directories(
|
|
BEFORE ${CMAKE_CURRENT_SOURCE_DIR}
|
|
inc)
|
|
|
|
#add_definitions(-D_DEBUG)
|
|
|
|
list(APPEND SOURCE
|
|
atacmd_map.cpp
|
|
bm_devs.cpp
|
|
id_ata.cpp
|
|
id_badblock.cpp
|
|
id_dma.cpp
|
|
id_init.cpp
|
|
id_probe.cpp
|
|
id_queue.cpp
|
|
id_sata.cpp
|
|
ros_glue/ros_glue.cpp
|
|
stdafx.h)
|
|
|
|
add_library(uniata MODULE ${SOURCE} idedma.rc)
|
|
|
|
if(USE_CLANG_CL OR (NOT MSVC))
|
|
target_compile_options(uniata PRIVATE "-Wno-narrowing")
|
|
if(USE_CLANG_CL)
|
|
target_compile_options(uniata PRIVATE "-Wno-unused-const-variable")
|
|
else()
|
|
target_compile_options(uniata PRIVATE "-Wno-unused-but-set-variable")
|
|
endif()
|
|
endif()
|
|
|
|
add_pch(uniata stdafx.h SOURCE)
|
|
set_module_type(uniata kernelmodedriver)
|
|
add_importlibs(uniata scsiport ntoskrnl hal)
|
|
add_cd_file(TARGET uniata DESTINATION reactos/system32/drivers NO_CAB FOR all)
|
|
add_registry_inf(uniata_reg.inf)
|