From fb015121f064f2be12d1e28cdc7c54e074ed0411 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 12 May 2025 17:53:49 +0200 Subject: lib: begin basic C++ wrapper --- lib/CMakeLists.txt | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'lib/CMakeLists.txt') diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 783700e..0fd7aa0 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -61,6 +61,59 @@ install(TARGETS "lib" FILE_SET HEADERS DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/turns" ) +# C++ Wrapper + +set(CXX_HEADERS + "src/turnsmm/participant.hpp" + "src/turnsmm.hpp" + + "src/turnsmm/private/participant_p.hpp" +) + +set(CXX_SOURCES + "src/turnsmm/participant.cpp" +) + +add_library("libmm" + ${CXX_SOURCES} +) + +add_library("turns::mm" ALIAS "libmm") + +target_sources("libmm" PUBLIC + FILE_SET HEADERS + BASE_DIRS "src" + FILES + ${CXX_HEADERS} +) + +target_compile_options("libmm" PUBLIC + "$<$:-Wall>" + "$<$:-Wextra>" + "$<$:-Werror>" + "$<$:-pedantic-errors>" +) + +target_include_directories("libmm" PUBLIC + "src" +) + +target_link_libraries("libmm" PUBLIC + "PkgConfig::glibmm" + + "turns::lib" +) + +set_target_properties("libmm" PROPERTIES + OUTPUT_NAME "turnsmm" +) + +enable_coverage("libmm") + +install(TARGETS "libmm" + FILE_SET HEADERS DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/turnsmm" +) + # Tests add_executable("lib-tests" -- cgit v1.2.3