1
2spec2def(classpnp.sys classpnp.spec ADD_IMPORTLIB)
3
4remove_definitions(-D_WIN32_WINNT=0x502)
5
6list(APPEND SOURCE
7    autorun.c
8    class.c
9    classwmi.c
10    clntirp.c
11    create.c
12    data.c
13    debug.c
14    dictlib.c
15    dispatch.c
16    guid.c
17    history.c
18    lock.c
19    obsolete.c
20    power.c
21    retry.c
22    srblib.c
23    utils.c
24    xferpkt.c)
25
26add_library(classpnp MODULE
27    ${SOURCE}
28    class.rc
29    ${CMAKE_CURRENT_BINARY_DIR}/classpnp.def)
30
31target_compile_definitions(classpnp PUBLIC
32    DEBUG_USE_KDPRINT
33    _WIN32_WINNT=0x602
34    NTDDI_VERSION=0x06020000) # NTDDI_WIN8
35
36target_compile_definitions(classpnp PRIVATE
37    CLASS_GLOBAL_BREAK_ON_LOST_IRPS=0
38    CLASS_GLOBAL_SECONDS_TO_WAIT_FOR_SYNCHRONOUS_SRB=100
39    CLASS_GLOBAL_USE_DELAYED_RETRY=1
40    CLASS_GLOBAL_BUFFERED_DEBUG_PRINT=0
41    CLASS_GLOBAL_BUFFERED_DEBUG_PRINT_BUFFER_SIZE=512
42    CLASS_GLOBAL_BUFFERED_DEBUG_PRINT_BUFFERS=512)
43
44if(NOT MSVC)
45    target_compile_options(classpnp PRIVATE -Wno-pointer-to-int-cast -Wno-switch)
46endif()
47
48if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
49    target_compile_options(classpnp PRIVATE -Wno-unused-but-set-variable)
50endif()
51
52set_module_type(classpnp kernelmodedriver)
53target_link_libraries(classpnp ntoskrnl_vista libcntpr ${PSEH_LIB})
54add_importlibs(classpnp ntoskrnl hal)
55add_cd_file(TARGET classpnp DESTINATION reactos/system32/drivers NO_CAB FOR all)
56