4 spec2def(ntoskrnl.exe ntoskrnl.spec ADD_IMPORTLIB)
8 ${REACTOS_SOURCE_DIR}/lib/cmlib
10 ${CMAKE_CURRENT_BINARY_DIR}/include
11 ${CMAKE_CURRENT_BINARY_DIR}/include/internal
12 ${REACTOS_SOURCE_DIR}/include/reactos/drivers)
19 -DNTDDI_VERSION=0x05020400)
25 endif(NOT DEFINED NEWCC)
28 add_definitions(-DNEWCC)
51 cache/section/reqtools.c
53 cache/section/swapout.c
141 io/iomgr/controller.c
167 io/pnpmgr/pnpnotify.c
168 io/pnpmgr/pnpreport.c
279 if(ARCH STREQUAL "i386")
281 config/i386/cmhardwr.c
282 ex/i386/fastinterlck_asm.S
297 ke/i386/usercall_asm.S
307 elseif(ARCH STREQUAL "amd64")
309 config/i386/cmhardwr.c
326 elseif(ARCH STREQUAL "arm")
328 config/arm/cmhardwr.c
343 elseif(ARCH STREQUAL "powerpc")
345 config/powerpc/cmhardwr.c
346 ke/powerpc/main_asm.S
352 ke/powerpc/systimer.c
354 ke/powerpc/ctxswitch.c
361 if(ARCH STREQUAL "i386")
364 kd/wrappers/gdbstub.c)
368 kdbg/i386/kdb_help.S)
370 elseif(ARCH STREQUAL "amd64")
376 kdbg/amd64/i386-dis.c
377 kdbg/amd64/kdb_help.S
380 elseif(ARCH STREQUAL "powerpc")
381 list(APPEND SOURCE kd/wrappers/gdbstub_powerpc.c)
394 #list(APPEND SOURCE kdbg/kdb_symbols.cmake.c)
395 list(APPEND SOURCE kdbg/kdb_symbols.c)
416 if(ARCH STREQUAL "i386")
417 list(APPEND SOURCE kd64/i386/kdx86.c)
418 elseif(ARCH STREQUAL "amd64")
419 list(APPEND SOURCE kd64/amd64/kdx64.c)
420 elseif(ARCH STREQUAL "arm")
421 list(APPEND SOURCE kd64/arm/kdarm.c)
426 add_executable(ntoskrnl
428 ${CMAKE_CURRENT_BINARY_DIR}/ntoskrnl.def)
430 if(ARCH STREQUAL "i386")
431 set_entrypoint(ntoskrnl KiSystemStartup 4)
433 set_entrypoint(ntoskrnl KiSystemStartup)
435 set_subsystem(ntoskrnl native)
438 set_image_base(ntoskrnl 0x00400000)
440 set_image_base(ntoskrnl 0x80800000)
444 if(NOT MSVC AND LTCG)
445 add_target_link_flags(ntoskrnl "-shared")
448 target_link_libraries(ntoskrnl
459 add_importlibs(ntoskrnl hal kdcom bootvid)
461 add_pch(ntoskrnl include/ntoskrnl.h)
462 add_dependencies(ntoskrnl psdk bugcodes asm)
464 add_cd_file(TARGET ntoskrnl DESTINATION reactos/system32 NO_CAB FOR all)
467 spec2def(ntkrnlmp.exe ntoskrnl.spec)
469 add_executable(ntkrnlmp
471 ${CMAKE_CURRENT_BINARY_DIR}/ntkrnlmp.def)
473 add_target_compile_definitions(ntkrnlmp CONFIG_SMP)
475 if(ARCH STREQUAL "i386")
476 set_entrypoint(ntkrnlmp KiSystemStartup 4)
478 set_entrypoint(ntkrnlmp KiSystemStartup)
480 set_subsystem(ntkrnlmp native)
483 set_image_base(ntkrnlmp 0x00400000)
485 set_image_base(ntkrnlmp 0x80800000)
489 if(NOT MSVC AND LTCG)
490 add_target_link_flags(ntkrnlmp "-shared")
493 target_link_libraries(ntkrnlmp cportlib csq ${PSEH_LIB} cmlib rtl rossym libcntpr wdmguid ioevent)
494 add_importlibs(ntkrnlmp hal kdcom bootvid)
495 add_dependencies(ntkrnlmp psdk bugcodes asm)
496 add_cd_file(TARGET ntkrnlmp DESTINATION reactos/system32 NO_CAB FOR all)
499 add_library(ntdllsys ntdll.S)