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