summaryrefslogtreecommitdiff
path: root/lib/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CMakeLists.txt')
-rw-r--r--lib/CMakeLists.txt53
1 files changed, 53 insertions, 0 deletions
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
+ "$<$<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("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"