cmake_minimum_required(VERSION 3.31)
project(libmagenta C ASM)

file(GLOB headers
	${CMAKE_CURRENT_SOURCE_DIR}/include/magenta/*.h
	${CMAKE_CURRENT_SOURCE_DIR}/include-user/magenta/*.h)
file(GLOB asm_sources
	${CMAKE_CURRENT_SOURCE_DIR}/arch/${CMAKE_SYSTEM_PROCESSOR}/*.S)

set(public_include_dirs
	${CMAKE_CURRENT_SOURCE_DIR}/include
	${CMAKE_CURRENT_SOURCE_DIR}/include-user)

add_library(libmagenta STATIC ${asm_sources} ${headers})
target_include_directories(libmagenta PUBLIC
	${CMAKE_CURRENT_SOURCE_DIR}/include
	${CMAKE_CURRENT_SOURCE_DIR}/include-user)
target_compile_options(libmagenta PRIVATE -ffreestanding -nostdlib)

set_target_properties(libmagenta PROPERTIES
	PREFIX "")

install(TARGETS libmagenta)
install(FILES ${headers} DESTINATION include/magenta)
