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)