blob: 207a7600c30549dd754b107a02797dacadbca7c1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_SOURCE_DIR}/cmake/toolchain.cmake)
set(CMAKE_EXPORT_COMPILE_COMMANDS TRUE)
# The checks don't work on cross compilers
set(CMAKE_C_COMPILER_WORKS TRUE)
set(CMAKE_CXX_COMPILER_WORKS TRUE)
cmake_minimum_required(VERSION 3.21)
project(bubbl)
set (CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_SOURCE_DIR}/cmake")
include(run)
add_subdirectory(kernel)
get_target_property(KERNEL_BINARY_DIR kernel BINARY_DIR)
get_target_property(KERNEL_SOURCE kernel SOURCE_DIR)
add_custom_target(iso
rm -rf ${CMAKE_BINARY_DIR}/iso &&
mkdir -p ${CMAKE_BINARY_DIR}/iso/boot/grub &&
cp ${KERNEL_BINARY_DIR}/kernel ${CMAKE_BINARY_DIR}/iso/boot &&
cp ${KERNEL_SOURCE}/boot/grub.cfg ${CMAKE_BINARY_DIR}/iso/boot/grub &&
grub-mkrescue -o ${CMAKE_BINARY_DIR}/bubbl.iso ${CMAKE_BINARY_DIR}/iso
DEPENDS kernel
)
set_property(
TARGET iso
APPEND
PROPERTY ADDITIONAL_CLEAN_FILES iso
PROPERTY ADDITIONAL_CLEAN_FILES bubbl.iso
)
|