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)
