xref: /reactos/ntoskrnl/ntkrnlmp/CMakeLists.txt (revision 74ec94e1)
1
2include(../ntos.cmake)
3
4include_directories(${REACTOS_SOURCE_DIR}/ntoskrnl)
5spec2def(ntkrnlmp.exe ../ntoskrnl.spec)
6
7if(MSVC_IDE)
8    set_source_files_properties(${NTKRNLMP_ASM_SOURCE} PROPERTIES COMPILE_DEFINITIONS "CONFIG_SMP")
9endif()
10
11add_asm_files(ntkrnlmp_asm ${NTKRNLMP_ASM_SOURCE})
12
13list(APPEND NTKRNLMP_PCH_SKIP_SOURCE
14    ${REACTOS_SOURCE_DIR}/ntoskrnl/guid.c)
15
16add_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)
22set_module_type(ntkrnlmp kernel)
23target_compile_definitions(ntkrnlmp PRIVATE CONFIG_SMP)
24
25# dynamic analysis switches
26if(STACK_PROTECTOR)
27    target_sources(ntkrnlmp PRIVATE $<TARGET_OBJECTS:gcc_ssp_nt>)
28endif()
29
30target_link_libraries(ntkrnlmp cportlib csq ${PSEH_LIB} arbiter cmlib ntlsalib rtl ${ROSSYM_LIB} libcntpr wdmguid ioevent)
31add_importlibs(ntkrnlmp hal kdcom bootvid)
32add_pch(ntkrnlmp ${REACTOS_SOURCE_DIR}/ntoskrnl/include/ntoskrnl.h "${NTKRNLMP_PCH_SKIP_SOURCE}")
33add_dependencies(ntkrnlmp psdk asm)
34add_cd_file(TARGET ntkrnlmp DESTINATION reactos/system32 NO_CAB FOR all)
35