reactos/drivers/filesystems/udfs/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

63 lines
1.6 KiB
CMake

include_directories(Include)
list(APPEND SOURCE
udf_info/alloc.cpp
udf_info/dirtree.cpp
udf_info/extent.cpp
udf_info/mount.cpp
udf_info/phys_eject.cpp
udf_info/physical.cpp
udf_info/remap.cpp
udf_info/udf_info.cpp
cleanup.cpp
close.cpp
create.cpp
devcntrl.cpp
dircntrl.cpp
env_spec.cpp
fastio.cpp
fileinfo.cpp
filter.cpp
flush.cpp
fscntrl.cpp
lockctrl.cpp
mem.cpp
misc.cpp
namesup.cpp
pnp.cpp
read.cpp
secursup.cpp
shutdown.cpp
sys_spec.cpp
udf_dbg.cpp
udfinit.cpp
unload.cpp
verfysup.cpp
volinfo.cpp
wcache.cpp
write.cpp
udffs.h)
add_library(udfs MODULE ${SOURCE} udffs.rc)
if(MSVC)
# FIXME: Make sure we marked all what needs to be marked with stdcall before removing this.
target_compile_options(udfs PRIVATE "/Gz")
if(USE_CLANG_CL)
target_compile_options(udfs PRIVATE -Wno-extern-c-compat -Wno-unused-value)
target_compile_options(udfs PRIVATE -Wno-tautological-constant-out-of-range-compare)
target_compile_options(udfs PRIVATE -Wno-tautological-unsigned-zero-compare -Wno-self-assign)
target_compile_options(udfs PRIVATE -Wno-sometimes-uninitialized -Wno-parentheses-equality)
endif()
else()
target_compile_options(udfs PRIVATE "-Wno-unused-but-set-variable")
endif()
set_module_type(udfs kernelmodedriver)
target_link_libraries(udfs ${PSEH_LIB})
add_importlibs(udfs ntoskrnl hal)
add_pch(udfs udffs.h SOURCE)
add_cd_file(TARGET udfs DESTINATION reactos/system32/drivers FOR all)
add_registry_inf(udfs_reg.inf)