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
247 ${REACTOS_BINARY_DIR}/ntoskrnl/ex/zw.S)
249 if(ARCH MATCHES i386)
251 config/i386/cmhardwr.c
252 ex/i386/interlck_asm.S
253 ex/i386/fastinterlck_asm.S
269 ke/i386/usercall_asm.S
279 elseif(ARCH MATCHES amd64)
281 config/i386/cmhardwr.c
282 ex/amd64/fastinterlck.c
298 elseif(ARCH MATCHES arm)
300 config/arm/cmhardwr.c
315 elseif(ARCH MATCHES powerpc)
317 config/powerpc/cmhardwr.c
318 ke/powerpc/main_asm.S
324 ke/powerpc/systimer.c
326 ke/powerpc/ctxswitch.c
330 endif(ARCH MATCHES i386)
334 if(ARCH MATCHES i386)
337 kd/wrappers/gdbstub.c)
347 elseif(ARCH MATCHES amd64)
354 kdbg/amd64/i386-dis.c
355 kdbg/amd64/kdb_help.S
359 elseif(ARCH MATCHES powerpc)
360 list(APPEND SOURCE kd/wrappers/gdbstub_powerpc.c)
362 endif(ARCH MATCHES i386)
374 list(APPEND SOURCE kdbg/kdb_symbols.c)
395 if(ARCH MATCHES i386)
396 list(APPEND SOURCE kd64/i386/kdx86.c)
397 elseif(ARCH MATCHES amd64)
398 list(APPEND SOURCE kd64/amd64/kdx64.c)
399 elseif(ARCH MATCHES arm)
400 list(APPEND SOURCE kd64/arm/kdarm.c)
401 endif(ARCH MATCHES i386)
405 add_executable(ntoskrnl ${SOURCE} ${CMAKE_CURRENT_BINARY_DIR}/ntoskrnl_ntoskrnl.h.gch)
407 set_target_properties(ntoskrnl PROPERTIES LINK_FLAGS "-Wl,-entry,_KiSystemStartup@4 -Wl,--image-base,0x80800000 -Wl,--subsystem,native")
409 target_link_libraries(ntoskrnl
410 ${CMAKE_CURRENT_SOURCE_DIR}/ntoskrnl_i386.def
424 add_pch(ntoskrnl ${CMAKE_CURRENT_SOURCE_DIR}/include/ntoskrnl.h ${SOURCE})
425 set_source_files_properties(${REACTOS_BINARY_DIR}/ntoskrnl/ex/zw.S PROPERTIES GENERATED TRUE)
426 add_dependencies(ntoskrnl psdk bugcodes kernel_zw kernel_napi)
428 add_minicd_target(ntoskrnl reactos ntoskrnl.exe)
429 add_livecd_target(ntoskrnl reactos/system32)