[SHELL32_APITEST] Follow-up to #6796 (25e2f5f)
[reactos.git] / ntoskrnl / ntkrnlmp / CMakeLists.txt
1
2 include(../ntos.cmake)
3
4 include_directories(${REACTOS_SOURCE_DIR}/ntoskrnl)
5 spec2def(ntkrnlmp.exe ../ntoskrnl.spec)
6
7 if(MSVC_IDE)
8 set_source_files_properties(${NTKRNLMP_ASM_SOURCE} PROPERTIES COMPILE_DEFINITIONS "CONFIG_SMP")
9 endif()
10
11 add_asm_files(ntkrnlmp_asm ${NTKRNLMP_ASM_SOURCE})
12
13 list(APPEND NTKRNLMP_PCH_SKIP_SOURCE
14 ${REACTOS_SOURCE_DIR}/ntoskrnl/guid.c)
15
16 add_executable(ntkrnlmp
17 ${ntkrnlmp_asm}
18 ${NTKRNLMP_SOURCE}
19 ${NTKRNLMP_PCH_SKIP_SOURCE}
20 ${REACTOS_SOURCE_DIR}/ntoskrnl/ntoskrnl.rc
21 ${CMAKE_CURRENT_BINARY_DIR}/ntkrnlmp.def)
22 set_module_type(ntkrnlmp kernel)
23 target_compile_definitions(ntkrnlmp PRIVATE CONFIG_SMP)
24
25 # dynamic analysis switches
26 if(STACK_PROTECTOR)
27 target_sources(ntkrnlmp PRIVATE $<TARGET_OBJECTS:gcc_ssp_nt>)
28 endif()
29
30 target_link_libraries(ntkrnlmp cportlib csq ${PSEH_LIB} arbiter cmlib ntlsalib rtl ${ROSSYM_LIB} libcntpr wdmguid ioevent)
31 add_importlibs(ntkrnlmp hal kdcom bootvid)
32 add_pch(ntkrnlmp ${REACTOS_SOURCE_DIR}/ntoskrnl/include/ntoskrnl.h "${NTKRNLMP_PCH_SKIP_SOURCE}")
33 add_dependencies(ntkrnlmp psdk asm)
34 add_cd_file(TARGET ntkrnlmp DESTINATION reactos/system32 NO_CAB FOR all)