From a2c73b6ba3c9ea307b0b0eb94c9e769a1f31dc00 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 12 May 2025 16:21:53 +0200 Subject: lib: move C library to new directory --- lib/CMakeLists.txt | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 lib/CMakeLists.txt (limited to 'lib/CMakeLists.txt') diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt new file mode 100644 index 0000000..8e507ec --- /dev/null +++ b/lib/CMakeLists.txt @@ -0,0 +1,88 @@ +# Library + +set(HEADERS + "src/turns-disposition.h" + "src/turns-init.h" + "src/turns-participant.h" +) + +set(SOURCES + "src/turns-init.cpp" + "src/turns-participant.cpp" +) + +add_library("lib" + ${SOURCES} +) + +add_library("turns::lib" ALIAS "lib") + +target_sources("lib" PUBLIC + FILE_SET HEADERS + BASE_DIRS "src" + FILES + ${HEADERS} +) + +target_compile_options("lib" PUBLIC + "$<$:-Wall>" + "$<$:-Wextra>" + "$<$:-Werror>" + "$<$:-pedantic-errors>" +) + +target_include_directories("lib" PUBLIC + "src" +) + +target_link_libraries("lib" PUBLIC + "PkgConfig::gobject" +) + +target_compile_definitions("lib" PUBLIC + "$<$>:TURNS_SETTINGS_SCHEMA_DIR=\"${CMAKE_CURRENT_BINARY_DIR}\">" +) + +set_target_properties("lib" PROPERTIES + OUTPUT_NAME "turns" +) + +target_add_glib_enums("lib" + HEADER_TEMPLATE "src/turns-enums.h.in" + SOURCE_TEMPLATE "src/turns-enums.c.in" + OUTPUT_NAME "turns-enums" + HEADERS ${HEADERS} +) + +enable_coverage("lib") + +install(TARGETS "lib" + FILE_SET HEADERS +) + +# Tests + +add_executable("lib-tests" + "tests/runtime_init.cpp" + "tests/turns-participant.cpp" +) + +target_link_libraries("lib-tests" PRIVATE + "Catch2::Catch2WithMain" + + "turns::lib" +) + +target_link_options("lib-tests" PRIVATE + "$<$,$>:--coverage>" +) + +# file(GLOB_RECURSE TEST_FILES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/tests" CONFIGURE_DEPENDS "*.trns") + +# target_add_glib_resources("core-tests" +# PREFIX "/ch/arknet/Turns/core-tests/" +# WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/tests" +# CSS_FILES ${TEST_FILES} +# ) + +catch_discover_tests("lib-tests") \ No newline at end of file -- cgit v1.2.3