2026-07-19 13:34:32 +01:00
|
|
|
cmake_minimum_required(VERSION 3.31)
|
|
|
|
|
project(bootstrap C ASM)
|
|
|
|
|
|
2026-02-19 19:31:15 +00:00
|
|
|
file(GLOB c_sources *.c *.h)
|
|
|
|
|
file(GLOB arch_sources arch/${CMAKE_SYSTEM_PROCESSOR}/*.S)
|
|
|
|
|
|
|
|
|
|
add_executable(bootstrap ${c_sources} ${arch_sources})
|
|
|
|
|
|
2026-07-19 13:34:32 +01:00
|
|
|
set(static_deps
|
|
|
|
|
magenta rosetta
|
|
|
|
|
libc-core.a libc-malloc.a libc-io.a
|
|
|
|
|
libfs.a
|
|
|
|
|
liblaunch.a
|
|
|
|
|
libxpc.a)
|
2026-03-06 20:18:54 +00:00
|
|
|
target_link_libraries(bootstrap
|
2026-07-19 13:34:32 +01:00
|
|
|
"$<LINK_GROUP:cross_refs,${static_deps}>")
|
2026-02-19 19:31:15 +00:00
|
|
|
|
|
|
|
|
target_compile_options(bootstrap PRIVATE
|
2026-03-21 10:55:49 +00:00
|
|
|
-fno-stack-protector -nostdlib -ffreestanding -fno-PIC)
|
2026-02-19 19:31:15 +00:00
|
|
|
target_link_options(bootstrap PRIVATE
|
2026-03-21 10:55:49 +00:00
|
|
|
-static -nostdlib -ffreestanding)
|
|
|
|
|
|
|
|
|
|
set_target_properties(bootstrap PROPERTIES POSITIION_INDEPENDENT_CODE FALSE)
|
2026-07-19 13:34:32 +01:00
|
|
|
install(TARGETS bootstrap DESTINATION boot)
|