blob: 227118f14f5337ef273f7375d26cbf7bef667880 [file] [log] [blame]
Adrien BĂ©raud612b55b2023-05-29 10:42:04 -04001cmake_minimum_required(VERSION 3.20)
2project(dhtnet)
3
4set(CMAKE_CXX_STANDARD 17)
5set(CMAKE_CXX_STANDARD_REQUIRED ON)
6
7find_package (PkgConfig REQUIRED)
8find_package(msgpack REQUIRED QUIET CONFIG NAMES msgpack msgpack-cxx)
9pkg_check_modules (opendht REQUIRED IMPORTED_TARGET opendht>=2.6.0)
10pkg_check_modules (pjproject REQUIRED IMPORTED_TARGET libpjproject)
11
12set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DMSGPACK_NO_BOOST -DMSGPACK_DISABLE_LEGACY_NIL -DMSGPACK_DISABLE_LEGACY_CONVERT")
13
14# Sources
15list (APPEND dhtnet_SOURCES
16 src/connectionmanager.cpp
17 src/ice_transport.cpp
18 src/multiplexed_socket.cpp
19 src/peer_connection.cpp
20 src/string_utils.cpp
21 src/fileutils.cpp
22 src/security/tls_session.cpp
23 src/security/certstore.cpp
24 src/security/threadloop.cpp
25)
26
27list (APPEND dhtnet_HEADERS
28 include/connectionmanager.h
29 include/multiplexed_socket.h
30)
31
32add_library(dhtnet ${dhtnet_SOURCES})
33target_link_libraries(dhtnet PUBLIC PkgConfig::opendht msgpack-cxx)
34target_include_directories(dhtnet PUBLIC include)
35target_compile_definitions(dhtnet PRIVATE
36 PJ_AUTOCONF=1
37)