aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/CMakeLists.txt
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-04-21 13:06:35 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-04-21 13:06:35 +0200
commit9b4cbc6ba3f8059278a20a4893780717851ce8e4 (patch)
treebb089d306639e1c3ef27c9b8f3fc90e8742f4117 /arch/x86_64/CMakeLists.txt
parent3441e7e164d8e5e8413a1eb47e3e9f3c824ed2d0 (diff)
downloadteachos-9b4cbc6ba3f8059278a20a4893780717851ce8e4.tar.xz
teachos-9b4cbc6ba3f8059278a20a4893780717851ce8e4.zip
build: clean up configuration
Diffstat (limited to 'arch/x86_64/CMakeLists.txt')
-rw-r--r--arch/x86_64/CMakeLists.txt37
1 files changed, 26 insertions, 11 deletions
diff --git a/arch/x86_64/CMakeLists.txt b/arch/x86_64/CMakeLists.txt
index f182651..9e346ef 100644
--- a/arch/x86_64/CMakeLists.txt
+++ b/arch/x86_64/CMakeLists.txt
@@ -1,14 +1,9 @@
-add_library("x86_64" OBJECT)
-add_library("os::arch" ALIAS "x86_64")
-
-target_include_directories("x86_64" PUBLIC
- "include"
-)
+#[============================================================================[
+# Library
+#]============================================================================]
-target_link_libraries("x86_64" PUBLIC
- "os::kapi"
- "libs::multiboot2"
-)
+add_library("x86_64" OBJECT)
+add_library("arch::lib" ALIAS "x86_64")
target_sources("x86_64" PRIVATE
# Platform-dependent KAPI implementation
@@ -54,7 +49,11 @@ target_sources("x86_64" PRIVATE
"src/vga/text/device.cpp"
)
-file(GLOB_RECURSE ARCH_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "include/**.hpp")
+file(GLOB_RECURSE ARCH_HEADERS
+ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
+ CONFIGURE_DEPENDS
+ "include/**.hpp"
+)
target_sources("x86_64" PUBLIC
FILE_SET HEADERS
@@ -62,7 +61,23 @@ target_sources("x86_64" PUBLIC
FILES ${ARCH_HEADERS}
)
+target_include_directories("x86_64" PUBLIC
+ "include"
+)
+
+target_link_libraries("x86_64" PUBLIC
+ "acpi::lib"
+ "elf::lib"
+ "kapi::lib"
+ "kstd::lib"
+ "multiboot2::lib"
+)
+
set(KERNEL_LINKER_SCRIPT
"${CMAKE_CURRENT_SOURCE_DIR}/scripts/kernel.ld"
PARENT_SCOPE
)
+
+set_target_properties("x86_64" PROPERTIES
+ VERIFY_INTERFACE_HEADER_SETS YES
+)