[CMAKE]
[reactos.git] / ntoskrnl / CMakeLists.txt
index 9504ddc..8fd16a1 100644 (file)
@@ -1,4 +1,6 @@
 
+spec2def(ntoskrnl.exe ntoskrnl.spec)
+
 include_directories(
     ${REACTOS_SOURCE_DIR}
     ${REACTOS_SOURCE_DIR}/lib/cmlib
@@ -215,6 +217,7 @@ list(APPEND SOURCE
     ob/obsecure.c
     ob/obwait.c
     po/events.c
+    po/guid.c
     po/poshtdwn.c
     po/povolume.c
     po/power.c
@@ -245,7 +248,7 @@ list(APPEND SOURCE
     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)
 
@@ -342,9 +345,7 @@ list(APPEND SOURCE
 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)
@@ -409,7 +410,11 @@ add_executable(ntoskrnl ${CMAKE_CURRENT_BINARY_DIR}/ntoskrnl_ntoskrnl.h.gch ${SO
 
 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
@@ -426,7 +431,8 @@ add_importlibs(ntoskrnl hal kdcom bootvid)
 
 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)