1
2include_directories(Include)
3
4list(APPEND SOURCE
5    udf_info/alloc.cpp
6    udf_info/dirtree.cpp
7    udf_info/extent.cpp
8    udf_info/mount.cpp
9    udf_info/phys_eject.cpp
10    udf_info/physical.cpp
11    udf_info/remap.cpp
12    udf_info/udf_info.cpp
13    cleanup.cpp
14    close.cpp
15    create.cpp
16    devcntrl.cpp
17    dircntrl.cpp
18    env_spec.cpp
19    fastio.cpp
20    fileinfo.cpp
21    filter.cpp
22    flush.cpp
23    fscntrl.cpp
24    lockctrl.cpp
25    mem.cpp
26    misc.cpp
27    namesup.cpp
28    pnp.cpp
29    read.cpp
30    secursup.cpp
31    shutdown.cpp
32    sys_spec.cpp
33    udf_dbg.cpp
34    udfinit.cpp
35    unload.cpp
36    verfysup.cpp
37    volinfo.cpp
38    wcache.cpp
39    write.cpp
40    udffs.h)
41
42add_library(udfs MODULE ${SOURCE} udffs.rc)
43
44if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
45    target_compile_options(udfs PRIVATE -Wno-unused-but-set-variable)
46endif()
47
48if(CMAKE_C_COMPILER_ID STREQUAL "Clang")
49    target_compile_options(udfs PRIVATE -Wno-extern-c-compat -Wno-unused-value)
50    target_compile_options(udfs PRIVATE -Wno-tautological-constant-out-of-range-compare)
51    target_compile_options(udfs PRIVATE -Wno-tautological-unsigned-zero-compare -Wno-self-assign)
52    target_compile_options(udfs PRIVATE -Wno-sometimes-uninitialized -Wno-parentheses-equality)
53endif()
54
55set_module_type(udfs kernelmodedriver)
56target_link_libraries(udfs ${PSEH_LIB})
57add_importlibs(udfs ntoskrnl hal)
58add_pch(udfs udffs.h SOURCE)
59add_cd_file(TARGET udfs DESTINATION reactos/system32/drivers FOR all)
60add_registry_inf(udfs_reg.inf)
61