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() 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()