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)
112 io/iomgr/controller.c
138 io/pnpmgr/pnpnotify.c
139 io/pnpmgr/pnpreport.c
250 ${REACTOS_BINARY_DIR}/ntoskrnl/ex/zw.S
251 ${CMAKE_CURRENT_BINARY_DIR}/ntoskrnl.def)
253 set_source_files_properties(ntoskrnl_${ARCH}.def PROPERTIES EXTERNAL_OBJECT TRUE)
255 if(ARCH MATCHES i386)
257 config/i386/cmhardwr.c
258 ex/i386/interlck_asm.S
259 ex/i386/fastinterlck_asm.S
275 ke/i386/usercall_asm.S
285 elseif(ARCH MATCHES amd64)
287 config/i386/cmhardwr.c
288 ex/amd64/fastinterlck.c
304 elseif(ARCH MATCHES arm)
306 config/arm/cmhardwr.c
321 elseif(ARCH MATCHES powerpc)
323 config/powerpc/cmhardwr.c
324 ke/powerpc/main_asm.S
330 ke/powerpc/systimer.c
332 ke/powerpc/ctxswitch.c
336 endif(ARCH MATCHES i386)
340 if(ARCH MATCHES i386)
343 kd/wrappers/gdbstub.c)
348 kdbg/i386/kdb_help.S)
351 elseif(ARCH MATCHES amd64)
358 kdbg/amd64/i386-dis.c
359 kdbg/amd64/kdb_help.S
363 elseif(ARCH MATCHES powerpc)
364 list(APPEND SOURCE kd/wrappers/gdbstub_powerpc.c)
366 endif(ARCH MATCHES i386)
378 list(APPEND SOURCE kdbg/kdb_symbols.c)
399 if(ARCH MATCHES i386)
400 list(APPEND SOURCE kd64/i386/kdx86.c)
401 elseif(ARCH MATCHES amd64)
402 list(APPEND SOURCE kd64/amd64/kdx64.c)
403 elseif(ARCH MATCHES arm)
404 list(APPEND SOURCE kd64/arm/kdarm.c)
405 endif(ARCH MATCHES i386)
409 add_executable(ntoskrnl ${CMAKE_CURRENT_BINARY_DIR}/ntoskrnl_ntoskrnl.h.gch ${SOURCE})
411 set_entrypoint(ntoskrnl KiSystemStartup@4)
412 set_subsystem(ntoskrnl native)
414 set_image_base(ntoskrnl 0x00400000)
416 set_image_base(ntoskrnl 0x80800000)
419 target_link_libraries(ntoskrnl
430 add_importlibs(ntoskrnl hal kdcom bootvid)
432 add_pch(ntoskrnl ${CMAKE_CURRENT_SOURCE_DIR}/include/ntoskrnl.h ${SOURCE})
433 set_source_files_properties(${REACTOS_BINARY_DIR}/ntoskrnl/ex/zw.S PROPERTIES GENERATED TRUE)
434 add_dependencies(ntoskrnl psdk bugcodes kernel_zw kernel_napi asm)
436 add_minicd_target(ntoskrnl reactos ntoskrnl.exe)
437 add_livecd_target(ntoskrnl reactos/system32)
438 add_importlib_target(ntoskrnl.spec)