2026-07-19 13:24:41 +01:00
|
|
|
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)
|
2026-02-19 19:22:06 +00:00
|
|
|
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)
|
|
|
|
|
|
2026-07-19 13:24:41 +01:00
|
|
|
add_library(libmagenta STATIC ${asm_sources} ${headers})
|
2026-04-30 20:30:36 +01:00
|
|
|
target_include_directories(libmagenta PUBLIC
|
2026-02-19 19:22:06 +00:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include-user)
|
2026-07-19 13:24:41 +01:00
|
|
|
target_compile_options(libmagenta PRIVATE -ffreestanding -nostdlib)
|
|
|
|
|
|
|
|
|
|
set_target_properties(libmagenta PROPERTIES
|
|
|
|
|
PREFIX "")
|
|
|
|
|
|
|
|
|
|
install(TARGETS libmagenta)
|
|
|
|
|
install(FILES ${headers} DESTINATION include/magenta)
|