# 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")