summaryrefslogtreecommitdiff
path: root/cmake/ipcp/unicast.cmake
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri@ouroboros.rocks>2026-02-02 22:50:17 +0100
committerSander Vrijders <sander@ouroboros.rocks>2026-02-04 08:17:24 +0100
commit4c64d7daef8819d644ab78a911067b16943f023d (patch)
tree7545488b224d510017f08a99006d9949367a9d77 /cmake/ipcp/unicast.cmake
parentb1687570df3e080c961cdcc0d59b708cfbdf955e (diff)
downloadouroboros-4c64d7daef8819d644ab78a911067b16943f023d.tar.gz
ouroboros-4c64d7daef8819d644ab78a911067b16943f023d.zip
build: Refactor CMake back to in-tree CMakeListsbe
This moves the build definitions back to src/ subdirectories (CMakeLists.txt per component). Configuration and dependencies are kept out of tree. Configuration options are bundled into cmake/config/ modules. Dependencies are grouped by component (system/, crypt/, eth/, coverage/, etc.). It now consistently uses target-based commands (target_include_directories, target_link_libraries) instead of global include_directories(). Proper PRIVATE/PUBLIC visibility for executable link libraries. CONFIG_OUROBOROS_DEBUG now properly set based on being a valid debug config (not just checking the string name). It also adds OuroborosTargets export for find_package() support and CMake package config files (OuroborosConfig.cmake) for easier integration with CMake projects. The build logic now follows more idiomatic CMake practices with configuration separated from target definitions. 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.cmake56
1 files changed, 0 insertions, 56 deletions
diff --git a/cmake/ipcp/unicast.cmake b/cmake/ipcp/unicast.cmake
deleted file mode 100644
index de237500..00000000
--- a/cmake/ipcp/unicast.cmake
+++ /dev/null
@@ -1,56 +0,0 @@
-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")
-set(DEBUG_PROTO_DHT FALSE CACHE BOOL
- "Add DHT protocol debug logging")
-set(DEBUG_PROTO_LS FALSE CACHE BOOL
- "Add link state protocol debug logging")
-
-# 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)
-
-include(utils/AddCompileFlags)
-if (CMAKE_BUILD_TYPE MATCHES "Debug*")
- add_compile_flags(${IPCP_UNICAST_TARGET} -DCONFIG_OUROBOROS_DEBUG)
-endif ()
-
-install(TARGETS ${IPCP_UNICAST_TARGET} RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR})