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
245 ${CMAKE_CURRENT_SOURCE_DIR}/ntoskrnl_${ARCH}.def)
247 if(ARCH MATCHES i386)
249 config/i386/cmhardwr.c
250 ex/i386/interlck_asm.S
251 ex/i386/fastinterlck_asm.S
267 ke/i386/usercall_asm.S
277 elseif(ARCH MATCHES amd64)
279 config/i386/cmhardwr.c
280 ex/amd64/fastinterlck.c
296 elseif(ARCH MATCHES arm)
298 config/arm/cmhardwr.c
313 elseif(ARCH MATCHES powerpc)
315 config/powerpc/cmhardwr.c
316 ke/powerpc/main_asm.S
322 ke/powerpc/systimer.c
324 ke/powerpc/ctxswitch.c
328 endif(ARCH MATCHES i386)
332 if(ARCH MATCHES i386)
335 kd/wrappers/gdbstub.c)
345 elseif(ARCH MATCHES amd64)
352 kdbg/amd64/i386-dis.c
353 kdbg/amd64/kdb_help.S
357 elseif(ARCH MATCHES powerpc)
358 list(APPEND SOURCE kd/wrappers/gdbstub_powerpc.c)
360 endif(ARCH MATCHES i386)
372 list(APPEND SOURCE kdbg/kdb_symbols.c)
393 if(ARCH MATCHES i386)
394 list(APPEND SOURCE kd64/i386/kdx86.c)
395 elseif(ARCH MATCHES amd64)
396 list(APPEND SOURCE kd64/amd64/kdx64.c)
397 elseif(ARCH MATCHES arm)
398 list(APPEND SOURCE kd64/arm/kdarm.c)
399 endif(ARCH MATCHES i386)
403 add_executable(ntoskrnl ${SOURCE} ${CMAKE_CURRENT_BINARY_DIR}/ntoskrnl_ntoskrnl.h.gch)
405 set_target_properties(ntoskrnl PROPERTIES LINK_FLAGS "-Wl,-entry,_KiSystemStartup@4 -Wl,--image-base,0x80800000 -Wl,--subsystem,native")
407 target_link_libraries(ntoskrnl
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)