2 set(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> -i <SOURCE> <CMAKE_C_LINK_FLAGS> <DEFINES> -I${REACTOS_SOURCE_DIR}/include/psdk -I${REACTOS_BINARY_DIR}/include/psdk -I${REACTOS_SOURCE_DIR}/include/ -I${REACTOS_SOURCE_DIR}/include/reactos -I${REACTOS_BINARY_DIR}/include/reactos -I${REACTOS_SOURCE_DIR}/include/reactos/wine -I${REACTOS_SOURCE_DIR}/include/crt -I${REACTOS_SOURCE_DIR}/include/crt/mingw32 -I${REACTOS_SOURCE_DIR} -I${CMAKE_CURRENT_SOURCE_DIR}/include -O coff -o <OBJECT> ")
4 add_definitions(-D__NTOSKRNL__)
5 add_definitions(-D_NTOSKRNL_)
6 add_definitions(-D_NTSYSTEM_)
7 add_definitions(-D_IN_KERNEL_)
8 add_definitions(-DNTDDI_VERSION=0x05020400)
10 include_directories(${REACTOS_SOURCE_DIR}/lib/cmlib)
11 include_directories(include)
12 include_directories(${CMAKE_CURRENT_BINARY_DIR}/include)
13 include_directories(${CMAKE_CURRENT_BINARY_DIR}/include/internal)
14 include_directories(${REACTOS_SOURCE_DIR}/include/reactos/drivers)
107 io/iomgr/controller.c
133 io/pnpmgr/pnpnotify.c
134 io/pnpmgr/pnpreport.c
244 ${REACTOS_BINARY_DIR}/ntoskrnl/ex/zw.S)
246 if(ARCH MATCHES i386)
248 config/i386/cmhardwr.c
249 ex/i386/interlck_asm.S
250 ex/i386/fastinterlck_asm.S
266 ke/i386/usercall_asm.S
276 elseif(ARCH MATCHES amd64)
278 config/i386/cmhardwr.c
279 ex/amd64/fastinterlck.c
295 elseif(ARCH MATCHES arm)
297 config/arm/cmhardwr.c
312 elseif(ARCH MATCHES powerpc)
314 config/powerpc/cmhardwr.c
315 ke/powerpc/main_asm.S
321 ke/powerpc/systimer.c
323 ke/powerpc/ctxswitch.c
327 endif(ARCH MATCHES i386)
331 if(ARCH MATCHES i386)
334 kd/wrappers/gdbstub.c)
344 elseif(ARCH MATCHES amd64)
351 kdbg/amd64/i386-dis.c
352 kdbg/amd64/kdb_help.S
356 elseif(ARCH MATCHES powerpc)
357 list(APPEND SOURCE kd/wrappers/gdbstub_powerpc.c)
359 endif(ARCH MATCHES i386)
371 list(APPEND SOURCE kdbg/kdb_symbols.c)
392 if(ARCH MATCHES i386)
393 list(APPEND SOURCE kd64/i386/kdx86.c)
394 elseif(ARCH MATCHES amd64)
395 list(APPEND SOURCE kd64/amd64/kdx64.c)
396 elseif(ARCH MATCHES arm)
397 list(APPEND SOURCE kd64/arm/kdarm.c)
398 endif(ARCH MATCHES i386)
402 add_executable(ntoskrnl ${SOURCE} ${CMAKE_CURRENT_BINARY_DIR}/ntoskrnl_ntoskrnl.h.gch)
404 set_target_properties(ntoskrnl PROPERTIES LINK_FLAGS "-Wl,-entry,_KiSystemStartup@4 -Wl,--image-base,0x80800000 -Wl,--subsystem,native")
406 target_link_libraries(ntoskrnl
407 ${CMAKE_CURRENT_SOURCE_DIR}/ntoskrnl_i386.def
421 add_pch(ntoskrnl ${CMAKE_CURRENT_SOURCE_DIR}/include/ntoskrnl.h ${SOURCE})
422 set_source_files_properties(${REACTOS_BINARY_DIR}/ntoskrnl/ex/zw.S PROPERTIES GENERATED TRUE)
423 add_dependencies(ntoskrnl psdk bugcodes kernel_zw kernel_napi)
425 add_minicd_target(ntoskrnl reactos ntoskrnl.exe)
426 add_livecd_target(ntoskrnl reactos/system32)