cmake_minimum_required(VERSION 3.31) project(xpc C ASM) file(GLOB sources ${CMAKE_CURRENT_SOURCE_DIR}/*.c) file(GLOB headers ${CMAKE_CURRENT_SOURCE_DIR}/*.h ${CMAKE_CURRENT_SOURCE_DIR}/include/xpc/*.h) file(GLOB public_headers ${CMAKE_CURRENT_SOURCE_DIR}/include/xpc/*.h) set(public_include_dirs ${CMAKE_CURRENT_SOURCE_DIR}/include) if (XPC_STATIC) add_library(xpc STATIC ${sources} ${headesr}) target_link_libraries(xpc magenta libc-core) else () add_library(xpc SHARED ${sources} ${headesr}) target_link_libraries(xpc magenta c) endif () target_include_directories(xpc PUBLIC ${public_include_dirs}) install(TARGETS xpc) install(FILES ${public_headers} DESTINATION include/xpc) #set_target_properties(libxpc-static PROPERTIES POSITION_INDEPENDENT_CODE FALSE)