cmake_minimum_required(VERSION 3.14)
project(xpc C)

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")

find_package(PkgConfig REQUIRED)
pkg_search_module(GLIB REQUIRED glib-2.0)
pkg_search_module(GIO REQUIRED gio-2.0)

find_package(Libevent REQUIRED COMPONENTS libevent)
find_package(NGHTTP2 REQUIRED)

set(CMAKE_C_STANDARD 99)

include_directories(libxpc/include)

add_executable(xpc main.c libxpc/src/xpc.c libxpc/src/xpc_debug.c libxpc/src/xpc_serialization.c rxpc/stream.c rxpc/session.c rxpc/session_libevent.c rxpc/session_libevent.h)
target_include_directories(xpc PUBLIC ${LIBEVENT_INCLUDE_DIRS} ${NGHTTP2_INCLUDE_DIR} ${GLIB_INCLUDE_DIRS} ${GIO_INCLUDE_DIRS})
target_link_libraries(xpc PUBLIC ${LIBEVENT_LIBRARIES} ${NGHTTP2_LIBRARIES} ${GLIB_LDFLAGS} ${GIO_LDFLAGS})
