2 spec2def(ntoskrnl.exe ntoskrnl.spec)
6 ${REACTOS_SOURCE_DIR}/lib/cmlib
8 ${CMAKE_CURRENT_BINARY_DIR}/include
9 ${CMAKE_CURRENT_BINARY_DIR}/include/internal
10 ${REACTOS_SOURCE_DIR}/include/reactos/drivers)
17 -DNTDDI_VERSION=0x05020400)
24 add_definitions(-DNEWCC)
35 cache/section/reqtools.c
37 cache/section/swapout.c)
136 io/iomgr/controller.c
162 io/pnpmgr/pnpnotify.c
163 io/pnpmgr/pnpreport.c
274 ${CMAKE_CURRENT_BINARY_DIR}/ntoskrnl.def)
276 if(ARCH MATCHES i386)
278 config/i386/cmhardwr.c
279 ex/i386/interlck_asm.S
280 ex/i386/fastinterlck_asm.S
295 ke/i386/usercall_asm.S
305 elseif(ARCH MATCHES amd64)
307 config/i386/cmhardwr.c
308 ex/amd64/fastinterlck.c
324 elseif(ARCH MATCHES arm)
326 config/arm/cmhardwr.c
341 elseif(ARCH MATCHES powerpc)
343 config/powerpc/cmhardwr.c
344 ke/powerpc/main_asm.S
350 ke/powerpc/systimer.c
352 ke/powerpc/ctxswitch.c
359 if(ARCH MATCHES i386)
362 kd/wrappers/gdbstub.c)
366 kdbg/i386/kdb_help.S)
368 elseif(ARCH MATCHES amd64)
374 kdbg/amd64/i386-dis.c
375 kdbg/amd64/kdb_help.S
378 elseif(ARCH MATCHES powerpc)
379 list(APPEND SOURCE kd/wrappers/gdbstub_powerpc.c)
392 list(APPEND SOURCE kdbg/kdb_symbols.cmake.c)
413 if(ARCH MATCHES i386)
414 list(APPEND SOURCE kd64/i386/kdx86.c)
415 elseif(ARCH MATCHES amd64)
416 list(APPEND SOURCE kd64/amd64/kdx64.c)
417 elseif(ARCH MATCHES arm)
418 list(APPEND SOURCE kd64/arm/kdarm.c)
423 add_executable(ntoskrnl ${SOURCE})
425 if (ARCH MATCHES i386)
426 set_entrypoint(ntoskrnl KiSystemStartup@4)
428 set_entrypoint(ntoskrnl KiSystemStartup)
430 set_subsystem(ntoskrnl native)
433 set_image_base(ntoskrnl 0x00400000)
435 set_image_base(ntoskrnl 0x80800000)
438 target_link_libraries(ntoskrnl
449 add_importlibs(ntoskrnl hal kdcom bootvid)
451 add_pch(ntoskrnl include/ntoskrnl.h)
452 add_dependencies(ntoskrnl psdk bugcodes asm)
454 add_cd_file(TARGET ntoskrnl DESTINATION reactos/system32 NO_CAB FOR all)
455 add_importlib_target(ntoskrnl.spec)
457 add_library(ntdllsys ntdll.S)