+spec2def(ntoskrnl.exe ntoskrnl.spec)
+
include_directories(
${REACTOS_SOURCE_DIR}
${REACTOS_SOURCE_DIR}/lib/cmlib
ob/obsecure.c
ob/obwait.c
po/events.c
+ po/guid.c
po/poshtdwn.c
po/povolume.c
po/power.c
wmi/wmi.c
ntoskrnl.rc
${REACTOS_BINARY_DIR}/ntoskrnl/ex/zw.S
- ntoskrnl_${ARCH}.def)
+ ${CMAKE_CURRENT_BINARY_DIR}/ntoskrnl.def)
set_source_files_properties(ntoskrnl_${ARCH}.def PROPERTIES EXTERNAL_OBJECT TRUE)
if(KDBG)
list(APPEND SOURCE
kdbg/i386/i386-dis.c
- kdbg/i386/kdb_help.S
- kdbg/i386/longjmp.S
- kdbg/i386/setjmp.S)
+ kdbg/i386/kdb_help.S)
endif(KDBG)
elseif(ARCH MATCHES amd64)
set_entrypoint(ntoskrnl KiSystemStartup@4)
set_subsystem(ntoskrnl native)
-set_image_base(ntoskrnl 0x80800000)
+if(MSVC)
+ set_image_base(ntoskrnl 0x00400000)
+else()
+ set_image_base(ntoskrnl 0x80800000)
+endif()
target_link_libraries(ntoskrnl
cportlib
add_pch(ntoskrnl ${CMAKE_CURRENT_SOURCE_DIR}/include/ntoskrnl.h ${SOURCE})
set_source_files_properties(${REACTOS_BINARY_DIR}/ntoskrnl/ex/zw.S PROPERTIES GENERATED TRUE)
-add_dependencies(ntoskrnl psdk bugcodes kernel_zw kernel_napi)
+add_dependencies(ntoskrnl psdk bugcodes kernel_zw kernel_napi asm)
add_minicd_target(ntoskrnl reactos ntoskrnl.exe)
-add_livecd_target(ntoskrnl reactos/system32)
\ No newline at end of file
+add_livecd_target(ntoskrnl reactos/system32)
+add_importlib_target(ntoskrnl.spec)