diff options
Diffstat (limited to 'lib/CMakeLists.txt')
| -rw-r--r-- | lib/CMakeLists.txt | 88 |
1 files changed, 88 insertions, 0 deletions
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 + "$<$<CXX_COMPILER_ID:GNU,Clang>:-Wall>" + "$<$<CXX_COMPILER_ID:GNU,Clang>:-Wextra>" + "$<$<CXX_COMPILER_ID:GNU,Clang>:-Werror>" + "$<$<CXX_COMPILER_ID:GNU,Clang>:-pedantic-errors>" +) + +target_include_directories("lib" PUBLIC + "src" +) + +target_link_libraries("lib" PUBLIC + "PkgConfig::gobject" +) + +target_compile_definitions("lib" PUBLIC + "$<$<NOT:$<BOOL:TURNS_USE_INSTALLED_SCHEMA_FILES>>: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 + "$<$<AND:$<CXX_COMPILER_ID:GNU,Clang>,$<CONFIG:Debug>>:--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 |
