diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2023-10-07 11:31:42 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2023-10-07 11:31:42 +0200 |
| commit | 0942321b4f09db58927dcd56940785567e19db92 (patch) | |
| tree | 496fa2db10dff18ae54c973592ee6d273877d2d0 /source/kernel/arch/x86_64 | |
| parent | 090ba239c5c71c765706019fa2733ed2b28ece8f (diff) | |
| download | teachos-0942321b4f09db58927dcd56940785567e19db92.tar.xz teachos-0942321b4f09db58927dcd56940785567e19db92.zip | |
build: perform cleaner split for platform settings
Diffstat (limited to 'source/kernel/arch/x86_64')
| -rw-r--r-- | source/kernel/arch/x86_64/CMakeLists.txt | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/source/kernel/arch/x86_64/CMakeLists.txt b/source/kernel/arch/x86_64/CMakeLists.txt new file mode 100644 index 0000000..04701c6 --- /dev/null +++ b/source/kernel/arch/x86_64/CMakeLists.txt @@ -0,0 +1,30 @@ +#[============================================================================[ +# x86_64 specific configuration for the kernel image. +#]============================================================================] + +set(TEACHOS_KERNEL_LINKER_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/kern.ld") +mark_as_advanced(TEACHOS_KERNEL_LINKER_SCRIPT) + +target_sources("kernel" PRIVATE + "src/entry.cpp" +) + +target_include_directories("kernel" PRIVATE + "include" +) + +target_link_options("kernel" PRIVATE + "-T${TEACHOS_KERNEL_LINKER_SCRIPT}" +) + +target_link_libraries("kernel" PRIVATE + "-Wl,--whole-archive" + "teachos::boot" + "-Wl,--no-whole-archive" +) + +set_target_properties("kernel" PROPERTIES + CXX_EXTENSIONS OFF + CXX_STANDARD_REQUIRED YES + LINK_DEPENDS "${TEACHOS_KERNEL_LINKER_SCRIPT}" +) |
