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