aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-04-01 08:10:10 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-04-01 08:10:10 +0200
commit9b80bd2ca528a376c2bb6831020b3d78e4b252d6 (patch)
tree514189c4b1690d746019b1421fb4fb235288ce98 /kernel
parentcd70186845c90aaaefbdb21b6d0f3c7caaa90a27 (diff)
downloadteachos-9b80bd2ca528a376c2bb6831020b3d78e4b252d6.tar.xz
teachos-9b80bd2ca528a376c2bb6831020b3d78e4b252d6.zip
build: fix kernel+arch build
Diffstat (limited to 'kernel')
-rw-r--r--kernel/CMakeLists.txt49
1 files changed, 27 insertions, 22 deletions
diff --git a/kernel/CMakeLists.txt b/kernel/CMakeLists.txt
index 206923e..4aa72e1 100644
--- a/kernel/CMakeLists.txt
+++ b/kernel/CMakeLists.txt
@@ -12,7 +12,6 @@ add_library("kernel-objs" OBJECT
"kstd/print.cpp"
# Kernel Implementation
- "src/main.cpp"
"src/memory/bitmap_allocator.cpp"
"src/memory/block_list_allocator.cpp"
"src/memory/operators.cpp"
@@ -44,7 +43,7 @@ target_include_directories("kernel-objs" PUBLIC
"include"
)
-target_link_libraries("kernel-objs" PRIVATE
+target_link_libraries("kernel-objs" PUBLIC
"os::kapi"
)
@@ -57,28 +56,34 @@ target_sources("kernel-objs" PUBLIC
${KERNEL_HEADERS}
)
-add_executable("kernel"
- $<TARGET_OBJECTS:kernel-objs>
-)
+add_library("os::kernel" ALIAS "kernel-objs")
-target_link_libraries("kernel" PRIVATE
- "os::arch"
-)
+if(CMAKE_CROSSCOMPILING)
+ add_executable("kernel"
+ "src/main.cpp"
+ )
-target_link_options("kernel" PRIVATE
- "-T${KERNEL_LINKER_SCRIPT}"
- "-no-pie"
- "-nostdlib"
-)
+ target_link_libraries("kernel" PRIVATE
+ "os::arch"
+ "os::kernel"
+ )
-set_property(TARGET "kernel"
- APPEND
- PROPERTY LINK_DEPENDS
- "${KERNEL_LINKER_SCRIPT}"
-)
+ target_link_options("kernel" PRIVATE
+ "-T${KERNEL_LINKER_SCRIPT}"
+ "-no-pie"
+ "-nostdlib"
+ )
+
+ set_property(TARGET "kernel"
+ APPEND
+ PROPERTY LINK_DEPENDS
+ "${KERNEL_LINKER_SCRIPT}"
+ )
+
+ target_disassemble("kernel")
+ target_extract_debug_symbols("kernel")
+ target_strip("kernel")
-target_disassemble("kernel")
-target_extract_debug_symbols("kernel")
-target_strip("kernel")
+ target_generate_bootable_iso("kernel")
+endif()
-target_generate_bootable_iso("kernel")