diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2025-05-12 16:21:53 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2025-05-12 16:21:53 +0200 |
| commit | a2c73b6ba3c9ea307b0b0eb94c9e769a1f31dc00 (patch) | |
| tree | 4235e54f0557c76b1226367b8cd5e5f561d7662a /lib/CMakeLists.txt | |
| parent | 45ef4948db670224c7cc727507f84924bd826002 (diff) | |
| download | turns-a2c73b6ba3c9ea307b0b0eb94c9e769a1f31dc00.tar.xz turns-a2c73b6ba3c9ea307b0b0eb94c9e769a1f31dc00.zip | |
lib: move C library to new directory
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 |
