aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/CMakeLists.txt
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-04-29 09:36:43 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-04-29 09:36:43 +0200
commitd6ef2153fb32ee7ba04acdf37e7a535a855229db (patch)
treed2cd3275797208b1f78c44baa63739fa8645146f /arch/x86_64/CMakeLists.txt
parentd906d70c94c2a40d5fc6fd26056c7bc57d540002 (diff)
parentc3d5a155025b445ab9213f131681afe9410b4e66 (diff)
downloadteachos-d6ef2153fb32ee7ba04acdf37e7a535a855229db.tar.xz
teachos-d6ef2153fb32ee7ba04acdf37e7a535a855229db.zip
Merge branch 'fmorgner/develop-BA-FS26/x86-64-use-p1204-layout' into 'develop-BA-FS26'
chore: migrate 'arch' to p1204 project layout See merge request teachos/kernel!28
Diffstat (limited to 'arch/x86_64/CMakeLists.txt')
-rw-r--r--arch/x86_64/CMakeLists.txt50
1 files changed, 30 insertions, 20 deletions
diff --git a/arch/x86_64/CMakeLists.txt b/arch/x86_64/CMakeLists.txt
index 9e346ef..20a48f9 100644
--- a/arch/x86_64/CMakeLists.txt
+++ b/arch/x86_64/CMakeLists.txt
@@ -5,8 +5,16 @@
add_library("x86_64" OBJECT)
add_library("arch::lib" ALIAS "x86_64")
+target_include_directories("x86_64" PUBLIC
+ "${CMAKE_CURRENT_SOURCE_DIR}"
+)
+
+target_link_libraries("x86_64" PUBLIC
+ "kapi::lib"
+ "multiboot2::lib"
+)
+
target_sources("x86_64" PRIVATE
- # Platform-dependent KAPI implementation
"kapi/boot_modules.cpp"
"kapi/cio.cpp"
"kapi/cpu.cpp"
@@ -14,39 +22,41 @@ target_sources("x86_64" PRIVATE
"kapi/interrupts.cpp"
"kapi/memory.cpp"
"kapi/system.cpp"
+)
+target_sources("x86_64" PRIVATE
# CPU Initialization
- "src/cpu/initialization.cpp"
- "src/cpu/interrupts.cpp"
- "src/cpu/interrupt_stubs.S"
+ "arch/cpu/initialization.cpp"
+ "arch/cpu/interrupts.cpp"
+ "arch/cpu/interrupts.S"
# Bus Initialization
- "src/bus/isa.cpp"
+ "arch/bus/isa.cpp"
# Low-level bootstrap
- "src/boot/boot32.S"
- "src/boot/entry64.s"
- "src/boot/initialize_runtime.cpp"
- "src/boot/multiboot.s"
+ "arch/boot/boot32.S"
+ "arch/boot/entry64.s"
+ "arch/boot/initialize_runtime.cpp"
+ "arch/boot/multiboot.s"
# Debug interfaces
- "src/debug/qemu_output.cpp"
+ "arch/debug/qemu_output.cpp"
# Devices
- "src/devices/init.cpp"
- "src/devices/legacy_pit.cpp"
- "src/devices/local_apic.cpp"
+ "arch/devices/init.cpp"
+ "arch/devices/legacy_pit.cpp"
+ "arch/devices/local_apic.cpp"
# Memory management
- "src/memory/kernel_mapper.cpp"
- "src/memory/higher_half_mapper.cpp"
- "src/memory/mmu.cpp"
- "src/memory/page_table.cpp"
- "src/memory/region_allocator.cpp"
+ "arch/memory/kernel_mapper.cpp"
+ "arch/memory/higher_half_mapper.cpp"
+ "arch/memory/mmu.cpp"
+ "arch/memory/page_table.cpp"
+ "arch/memory/region_allocator.cpp"
# VGA text mode
- "src/vga/text/buffer.cpp"
- "src/vga/text/device.cpp"
+ "arch/vga/text/buffer.cpp"
+ "arch/vga/text/device.cpp"
)
file(GLOB_RECURSE ARCH_HEADERS