41 lines
792 B
CMake
41 lines
792 B
CMake
cmake_minimum_required(VERSION 3.14)
|
|
project(Rosetta C CXX ASM)
|
|
|
|
set(sys_dir ${CMAKE_CURRENT_BINARY_DIR}/sys)
|
|
|
|
set(kernel_name mango_kernel)
|
|
set(bsp_name rosetta-system.bsp)
|
|
|
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
|
|
include(Meta)
|
|
include(Sysroot)
|
|
include(BSP)
|
|
include(Arch)
|
|
include(Templates)
|
|
|
|
bsp_reset()
|
|
sysroot_reset()
|
|
|
|
sysroot_set_base(
|
|
PATH ${CMAKE_SOURCE_DIR}/base)
|
|
|
|
add_subdirectory(kernel)
|
|
add_subdirectory(sys)
|
|
add_subdirectory(lib)
|
|
add_subdirectory(services)
|
|
add_subdirectory(programs)
|
|
|
|
sysroot_add_program(NAME ${kernel_name} BIN_DIR /boot)
|
|
|
|
bsp_finalise(
|
|
BSP_NAME ${bsp_name}
|
|
DEST_DIR ${sys_dir}
|
|
BOOTSTRAP_PROGRAM bootstrap)
|
|
|
|
sysroot_add_file(
|
|
ID bsp
|
|
SRC_PATH ${CMAKE_BINARY_DIR}/sys/${bsp_name}
|
|
DEST_DIR /boot
|
|
DEPENDS bsp)
|
|
sysroot_finalise()
|