diff options
| author | Dimitri Staessens <dimitri@ouroboros.rocks> | 2025-12-23 11:59:45 +0100 |
|---|---|---|
| committer | Sander Vrijders <sander@ouroboros.rocks> | 2026-01-07 10:00:06 +0100 |
| commit | 48c294105f5123dc876fbad199ec1e0166d82a18 (patch) | |
| tree | c49ce8ac75a7d63c10ea1ff960eeff750c680a8e /cmake/ipcp/unicast.cmake | |
| parent | 145be13e8c18fcb39476d8f65fed23d82320f22f (diff) | |
| download | ouroboros-48c294105f5123dc876fbad199ec1e0166d82a18.tar.gz ouroboros-48c294105f5123dc876fbad199ec1e0166d82a18.zip | |
build: Refactor CMake modules
This moves the CMake build logic out of the source tree and splits it
up into a more modular form. The tests now have a CMakeLists.txt file
in their respective source directory.
Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks>
Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'cmake/ipcp/unicast.cmake')
| -rw-r--r-- | cmake/ipcp/unicast.cmake | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/cmake/ipcp/unicast.cmake b/cmake/ipcp/unicast.cmake new file mode 100644 index 00000000..8517f8af --- /dev/null +++ b/cmake/ipcp/unicast.cmake @@ -0,0 +1,46 @@ +set(UNICAST_SOURCE_DIR "${IPCP_SOURCE_DIR}/unicast") +set(UNICAST_BINARY_DIR "${IPCP_BINARY_DIR}/unicast") + +set(IPCP_UNICAST_TARGET ipcpd-unicast CACHE INTERNAL "") + +set(IPCP_UNICAST_MPL 100 CACHE STRING + "Default maximum packet lifetime for the Unicast IPCP, in ms") +set(PFT_SIZE 256 CACHE STRING + "Prefix forwarding table size for the Unicast IPCP") + +# Generate DHT protobuf files +protobuf_generate_c(DHT_PROTO_SRCS DHT_PROTO_HDRS "${UNICAST_SOURCE_DIR}/dir/dht.proto") + +set (UNICAST_SOURCES + "${UNICAST_SOURCE_DIR}/addr-auth.c" + "${UNICAST_SOURCE_DIR}/ca.c" + "${UNICAST_SOURCE_DIR}/connmgr.c" + "${UNICAST_SOURCE_DIR}/dir.c" + "${UNICAST_SOURCE_DIR}/dt.c" + "${UNICAST_SOURCE_DIR}/fa.c" + "${UNICAST_SOURCE_DIR}/main.c" + "${UNICAST_SOURCE_DIR}/pff.c" + "${UNICAST_SOURCE_DIR}/routing.c" + "${UNICAST_SOURCE_DIR}/psched.c" + "${UNICAST_SOURCE_DIR}/addr-auth/flat.c" + "${UNICAST_SOURCE_DIR}/ca/mb-ecn.c" + "${UNICAST_SOURCE_DIR}/ca/nop.c" + "${UNICAST_SOURCE_DIR}/dir/dht.c" + "${UNICAST_SOURCE_DIR}/pff/simple.c" + "${UNICAST_SOURCE_DIR}/pff/alternate.c" + "${UNICAST_SOURCE_DIR}/pff/multipath.c" + "${UNICAST_SOURCE_DIR}/pff/pft.c" + "${UNICAST_SOURCE_DIR}/routing/link-state.c" + "${UNICAST_SOURCE_DIR}/routing/graph.c" +) + +add_executable(${IPCP_UNICAST_TARGET} + ${UNICAST_SOURCES} + ${IPCP_SOURCES} + ${COMMON_SOURCES} + ${DHT_PROTO_SRCS} +) +target_include_directories(${IPCP_UNICAST_TARGET} PRIVATE ${IPCP_INCLUDE_DIRS}) +target_include_directories(${IPCP_UNICAST_TARGET} PRIVATE "${UNICAST_SOURCE_DIR}") +target_link_libraries(${IPCP_UNICAST_TARGET} PUBLIC ouroboros-dev) +install(TARGETS ${IPCP_UNICAST_TARGET} RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR}) |
