cmake_minimum_required(VERSION 3.31)
project(bootstrap C ASM)

file(GLOB c_sources *.c *.h)
file(GLOB arch_sources arch/${CMAKE_SYSTEM_PROCESSOR}/*.S)

add_executable(bootstrap ${c_sources} ${arch_sources})

set(static_deps
	magenta rosetta
	libc-core.a libc-malloc.a libc-io.a
	libfs.a
	liblaunch.a
	libxpc.a)
target_link_libraries(bootstrap
	"$<LINK_GROUP:cross_refs,${static_deps}>")

target_compile_options(bootstrap PRIVATE
	-fno-stack-protector -nostdlib -ffreestanding -fno-PIC)
target_link_options(bootstrap PRIVATE
	-static -nostdlib -ffreestanding)

set_target_properties(bootstrap PROPERTIES POSITIION_INDEPENDENT_CODE FALSE)
install(TARGETS bootstrap DESTINATION boot)
