build: add build script to configure kernel and tools build systems

This commit is contained in:
2025-05-19 22:01:12 +01:00
parent 4d12cab7f7
commit 675a6de47e
5 changed files with 55 additions and 8 deletions

View File

@@ -1,10 +1,16 @@
cmake_minimum_required(VERSION 3.13)
project(magenta C ASM)
project(mango C ASM)
if (NOT BUILD_TOOLS_DIR)
message(FATAL_ERROR "No build tools directory specified. Please run build.sh")
endif ()
set(CMAKE_C_STANDARD 17)
set(kernel_name "Magenta")
set(kernel_exe_name "magenta_kernel")
set(kernel_arch x86_64)
set(kernel_name "Mango")
set(kernel_exe_name "mango_kernel")
set(generic_src_dirs ds init kernel libc obj sched util vm)
set(kernel_sources "")
@@ -19,7 +25,6 @@ foreach (dir ${generic_src_dirs})
set(kernel_headers ${kernel_headers} ${dir_headers})
endforeach (dir)
set(kernel_arch x86_64)
file(GLOB_RECURSE arch_sources_c arch/${kernel_arch}/*.c)
file(GLOB_RECURSE arch_sources_asm arch/${kernel_arch}/*.S)
file(GLOB_RECURSE arch_headers arch/${kernel_arch}/*.h)
@@ -33,8 +38,8 @@ add_executable(${kernel_exe_name}
${arch_sources_asm}
${arch_headers})
target_include_directories(${kernel_exe_name} PRIVATE
include
target_include_directories(${kernel_exe_name} PRIVATE
include
libc/include
arch/${kernel_arch}/include)
target_compile_options(${kernel_exe_name} PRIVATE