2026-07-19 13:34:32 +01:00
|
|
|
cmake_minimum_required(VERSION 3.31)
|
|
|
|
|
project(fs C ASM)
|
|
|
|
|
|
2026-03-06 20:17:23 +00:00
|
|
|
file(GLOB sources
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.c
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/interface/*.c)
|
|
|
|
|
file(GLOB headers
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/fs/*.h)
|
2026-07-19 13:34:32 +01:00
|
|
|
file(GLOB public_headers
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/fs/*.h)
|
2026-03-06 20:17:23 +00:00
|
|
|
|
|
|
|
|
set(public_include_dirs
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include)
|
|
|
|
|
|
2026-07-19 13:34:32 +01:00
|
|
|
if (FS_STATIC)
|
|
|
|
|
add_library(fs STATIC ${sources} ${headers})
|
|
|
|
|
target_link_libraries(fs magenta libc-core libxpc.a)
|
|
|
|
|
set_target_properties(fs PROPERTIES POSITION_INDEPENDENT_CODE FALSE)
|
|
|
|
|
else ()
|
|
|
|
|
add_library(fs SHARED ${sources} ${headers})
|
|
|
|
|
target_link_libraries(fs magenta c xpc)
|
|
|
|
|
endif ()
|
2026-03-06 20:17:23 +00:00
|
|
|
|
2026-07-19 13:34:32 +01:00
|
|
|
target_include_directories(fs PUBLIC include)
|
|
|
|
|
install(TARGETS fs)
|
|
|
|
|
install(FILES ${public_headers} DESTINATION include/fs)
|