aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/CMakeLists.txt
diff options
context:
space:
mode:
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..5657010 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
+ "os::kapi"
+ "libs::multiboot2"
+)
+
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