mirror of
https://github.com/reactos/reactos.git
synced 2024-07-08 21:55:08 +00:00
![Jérôme Gardou](/assets/img/avatar_default.png)
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
63 lines
1.6 KiB
CMake
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)
|