reactos/drivers/storage/ide/uniata/CMakeLists.txt
Jérôme Gardou d6ea8659c8 [CMAKE] Get rid of the set_cpp macro
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
2020-10-20 21:44:54 +02:00

38 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)