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 set(CMAKE_C_LINK_EXECUTABLE "<CMAKE_C_COMPILER> <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
5 set(CMAKE_EXE_LINKER_FLAGS "-nodefaultlibs -nostdlib -Wl,-entry,_KiSystemStartup@4 -Wl,--image-base,0x80800000 -Wl,--kill-at -Wl,-T,${REACTOS_SOURCE_DIR}/global.lds -Wl,--subsystem,native")
7 add_definitions(-D__NTOSKRNL__)
8 add_definitions(-D_NTOSKRNL_)
9 add_definitions(-D_NTSYSTEM_)
10 add_definitions(-D_IN_KERNEL_)
11 add_definitions(-DNTDDI_VERSION=0x05020400)
13 include_directories(${REACTOS_SOURCE_DIR}/lib/cmlib)
14 include_directories(include)
15 include_directories(${CMAKE_CURRENT_BINARY_DIR}/include)
16 include_directories(${CMAKE_CURRENT_BINARY_DIR}/include/internal)
17 include_directories(${REACTOS_SOURCE_DIR}/include/reactos/drivers)
26 config/${ARCH}/cmhardwr.c
110 io/iomgr/controller.c
136 io/pnpmgr/pnpnotify.c
137 io/pnpmgr/pnpreport.c
250 ${REACTOS_BINARY_DIR}/ntoskrnl/ex/zw.S)
252 if(ARCH MATCHES i386)
254 ex/i386/interlck_asm.S
255 ex/i386/fastinterlck_asm.S
271 ke/i386/usercall_asm.S
281 elseif(ARCH MATCHES amd64)
283 ex/amd64/fastinterlck.c
299 elseif(ARCH MATCHES arm)
315 elseif(ARCH MATCHES powerpc)
317 ke/powerpc/main_asm.S
323 ke/powerpc/systimer.c
325 ke/powerpc/ctxswitch.c
329 endif(ARCH MATCHES i386)
331 if(_WINKD_ MATCHES 0)
333 if(ARCH MATCHES i386)
336 kd/wrappers/gdbstub.c)
344 endif(KDBG MATCHES 1)
346 elseif(ARCH MATCHES amd64)
353 kdbg/amd64/i386-dis.c
354 kdbg/amd64/kdb_help.S
356 endif(KDBG MATCHES 1)
358 elseif(ARCH MATCHES powerpc)
359 list(APPEND SOURCE kd/wrappers/gdbstub_powerpc.c)
361 endif(ARCH MATCHES i386)
370 endif(KDBG MATCHES 1)
372 if(DBG_OR_KDBG MATCHES true)
373 list(APPEND SOURCE kdbg/kdb_symbols.c)
374 endif(DBG_OR_KDBG MATCHES true)
383 else() # _WINKD_ MATCHES 1
394 if(ARCH MATCHES i386)
395 list(APPEND SOURCE kd64/i386/kdx86.c)
396 elseif(ARCH MATCHES amd64)
397 list(APPEND SOURCE kd64/amd64/kdx64.c)
398 elseif(ARCH MATCHES arm)
399 list(APPEND SOURCE kd64/arm/kdarm.c)
400 endif(ARCH MATCHES i386)
402 endif(_WINKD_ MATCHES 0)
404 add_executable(ntoskrnl ${SOURCE} ${CMAKE_CURRENT_BINARY_DIR}/ntoskrnl_ntoskrnl.h.gch)
406 set_target_properties(ntoskrnl PROPERTIES LINK_FLAGS "-Wl,-entry,_KiSystemStartup@4")
408 target_link_libraries(ntoskrnl
409 ${CMAKE_CURRENT_SOURCE_DIR}/ntoskrnl_i386.def
411 ${REACTOS_SOURCE_DIR}/hal/halx86/libhal.a
417 ${REACTOS_SOURCE_DIR}/drivers/base/kdcom/libkdcom.a
418 ${REACTOS_SOURCE_DIR}/drivers/base/bootvid/libbootvid.a
422 add_pch(ntoskrnl ${CMAKE_CURRENT_SOURCE_DIR}/include/ntoskrnl.h ${SOURCE})
423 set_source_files_properties(${REACTOS_BINARY_DIR}/ntoskrnl/ex/zw.S PROPERTIES GENERATED TRUE)
424 add_dependencies(ntoskrnl psdk bugcodes kernel_zw kernel_napi)