4 ${REACTOS_SOURCE_DIR}/lib/cmlib
6 ${CMAKE_CURRENT_BINARY_DIR}/include
7 ${CMAKE_CURRENT_BINARY_DIR}/include/internal
8 ${REACTOS_SOURCE_DIR}/include/reactos/drivers)
15 -DNTDDI_VERSION=0x05020400)
110 io/iomgr/controller.c
136 io/pnpmgr/pnpnotify.c
137 io/pnpmgr/pnpreport.c
247 ${REACTOS_BINARY_DIR}/ntoskrnl/ex/zw.S
248 ntoskrnl_${ARCH}.def)
250 set_source_files_properties(ntoskrnl_${ARCH}.def PROPERTIES EXTERNAL_OBJECT TRUE)
252 if(ARCH MATCHES i386)
254 config/i386/cmhardwr.c
255 ex/i386/interlck_asm.S
256 ex/i386/fastinterlck_asm.S
272 ke/i386/usercall_asm.S
282 elseif(ARCH MATCHES amd64)
284 config/i386/cmhardwr.c
285 ex/amd64/fastinterlck.c
301 elseif(ARCH MATCHES arm)
303 config/arm/cmhardwr.c
318 elseif(ARCH MATCHES powerpc)
320 config/powerpc/cmhardwr.c
321 ke/powerpc/main_asm.S
327 ke/powerpc/systimer.c
329 ke/powerpc/ctxswitch.c
333 endif(ARCH MATCHES i386)
337 if(ARCH MATCHES i386)
340 kd/wrappers/gdbstub.c)
350 elseif(ARCH MATCHES amd64)
357 kdbg/amd64/i386-dis.c
358 kdbg/amd64/kdb_help.S
362 elseif(ARCH MATCHES powerpc)
363 list(APPEND SOURCE kd/wrappers/gdbstub_powerpc.c)
365 endif(ARCH MATCHES i386)
377 list(APPEND SOURCE kdbg/kdb_symbols.c)
398 if(ARCH MATCHES i386)
399 list(APPEND SOURCE kd64/i386/kdx86.c)
400 elseif(ARCH MATCHES amd64)
401 list(APPEND SOURCE kd64/amd64/kdx64.c)
402 elseif(ARCH MATCHES arm)
403 list(APPEND SOURCE kd64/arm/kdarm.c)
404 endif(ARCH MATCHES i386)
408 add_executable(ntoskrnl ${CMAKE_CURRENT_BINARY_DIR}/ntoskrnl_ntoskrnl.h.gch ${SOURCE})
410 set_entrypoint(ntoskrnl KiSystemStartup@4)
411 set_subsystem(ntoskrnl native)
412 set_image_base(ntoskrnl 0x80800000)
414 target_link_libraries(ntoskrnl
425 add_importlibs(ntoskrnl hal kdcom bootvid)
427 add_pch(ntoskrnl ${CMAKE_CURRENT_SOURCE_DIR}/include/ntoskrnl.h ${SOURCE})
428 set_source_files_properties(${REACTOS_BINARY_DIR}/ntoskrnl/ex/zw.S PROPERTIES GENERATED TRUE)
429 add_dependencies(ntoskrnl psdk bugcodes kernel_zw kernel_napi)
431 add_minicd_target(ntoskrnl reactos ntoskrnl.exe)
432 add_livecd_target(ntoskrnl reactos/system32)