cmake_minimum_required(VERSION 3.31)
project(fs C ASM)

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)
file(GLOB public_headers
	${CMAKE_CURRENT_SOURCE_DIR}/include/fs/*.h)

set(public_include_dirs
	${CMAKE_CURRENT_SOURCE_DIR}/include)

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 ()

target_include_directories(fs PUBLIC include)
install(TARGETS fs)
install(FILES ${public_headers} DESTINATION include/fs)
