summaryrefslogtreecommitdiff
path: root/cmake/tools
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/tools
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/tools')
-rw-r--r--cmake/tools/irm.cmake33
-rw-r--r--cmake/tools/obc.cmake4
-rw-r--r--cmake/tools/ocbr.cmake4
-rw-r--r--cmake/tools/oecho.cmake4
-rw-r--r--cmake/tools/operf.cmake4
-rw-r--r--cmake/tools/oping.cmake4
-rw-r--r--cmake/tools/ovpn.cmake6
-rw-r--r--cmake/tools/tools.cmake8
8 files changed, 0 insertions, 67 deletions
diff --git a/cmake/tools/irm.cmake b/cmake/tools/irm.cmake
deleted file mode 100644
index c9090a2c..00000000
--- a/cmake/tools/irm.cmake
+++ /dev/null
@@ -1,33 +0,0 @@
-set(IRM_SOURCE_DIR "${TOOLS_SOURCE_DIR}/irm")
-
-set(IRM_SOURCES
- "${IRM_SOURCE_DIR}/irm.c"
- "${IRM_SOURCE_DIR}/irm_bind_program.c"
- "${IRM_SOURCE_DIR}/irm_bind_process.c"
- "${IRM_SOURCE_DIR}/irm_bind_ipcp.c"
- "${IRM_SOURCE_DIR}/irm_ipcp_create.c"
- "${IRM_SOURCE_DIR}/irm_ipcp_destroy.c"
- "${IRM_SOURCE_DIR}/irm_ipcp_bootstrap.c"
- "${IRM_SOURCE_DIR}/irm_ipcp_enroll.c"
- "${IRM_SOURCE_DIR}/irm_ipcp_list.c"
- "${IRM_SOURCE_DIR}/irm_ipcp_connect.c"
- "${IRM_SOURCE_DIR}/irm_ipcp_disconnect.c"
- "${IRM_SOURCE_DIR}/irm_unbind_program.c"
- "${IRM_SOURCE_DIR}/irm_unbind_process.c"
- "${IRM_SOURCE_DIR}/irm_unbind_ipcp.c"
- "${IRM_SOURCE_DIR}/irm_unbind.c"
- "${IRM_SOURCE_DIR}/irm_bind.c"
- "${IRM_SOURCE_DIR}/irm_ipcp.c"
- "${IRM_SOURCE_DIR}/irm_name.c"
- "${IRM_SOURCE_DIR}/irm_name_create.c"
- "${IRM_SOURCE_DIR}/irm_name_destroy.c"
- "${IRM_SOURCE_DIR}/irm_name_reg.c"
- "${IRM_SOURCE_DIR}/irm_name_unreg.c"
- "${IRM_SOURCE_DIR}/irm_name_list.c"
- "${IRM_SOURCE_DIR}/irm_utils.c"
-)
-
-add_executable(irm ${IRM_SOURCES})
-target_include_directories(irm PRIVATE ${TOOLS_INCLUDE_DIRS})
-target_link_libraries(irm PUBLIC ouroboros-irm)
-install(TARGETS irm RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR})
diff --git a/cmake/tools/obc.cmake b/cmake/tools/obc.cmake
deleted file mode 100644
index 99e001b6..00000000
--- a/cmake/tools/obc.cmake
+++ /dev/null
@@ -1,4 +0,0 @@
-add_executable(obc "${TOOLS_SOURCE_DIR}/obc/obc.c")
-target_include_directories(obc PRIVATE ${TOOLS_INCLUDE_DIRS})
-target_link_libraries(obc PUBLIC ouroboros-dev)
-install(TARGETS obc RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
diff --git a/cmake/tools/ocbr.cmake b/cmake/tools/ocbr.cmake
deleted file mode 100644
index bab80da8..00000000
--- a/cmake/tools/ocbr.cmake
+++ /dev/null
@@ -1,4 +0,0 @@
-add_executable(ocbr "${TOOLS_SOURCE_DIR}/ocbr/ocbr.c")
-target_include_directories(ocbr PRIVATE ${TOOLS_INCLUDE_DIRS})
-target_link_libraries(ocbr PUBLIC ouroboros-dev)
-install(TARGETS ocbr RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
diff --git a/cmake/tools/oecho.cmake b/cmake/tools/oecho.cmake
deleted file mode 100644
index 73522731..00000000
--- a/cmake/tools/oecho.cmake
+++ /dev/null
@@ -1,4 +0,0 @@
-add_executable(oecho "${TOOLS_SOURCE_DIR}/oecho/oecho.c")
-target_include_directories(oecho PRIVATE ${TOOLS_INCLUDE_DIRS})
-target_link_libraries(oecho PUBLIC ouroboros-dev)
-install(TARGETS oecho RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
diff --git a/cmake/tools/operf.cmake b/cmake/tools/operf.cmake
deleted file mode 100644
index f6b2b465..00000000
--- a/cmake/tools/operf.cmake
+++ /dev/null
@@ -1,4 +0,0 @@
-add_executable(operf "${TOOLS_SOURCE_DIR}/operf/operf.c")
-target_include_directories(operf PRIVATE ${TOOLS_INCLUDE_DIRS})
-target_link_libraries(operf PUBLIC ouroboros-dev)
-install(TARGETS operf RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
diff --git a/cmake/tools/oping.cmake b/cmake/tools/oping.cmake
deleted file mode 100644
index 6bb18132..00000000
--- a/cmake/tools/oping.cmake
+++ /dev/null
@@ -1,4 +0,0 @@
-add_executable(oping "${TOOLS_SOURCE_DIR}/oping/oping.c")
-target_include_directories(oping PRIVATE ${TOOLS_INCLUDE_DIRS})
-target_link_libraries(oping PUBLIC ${LIBM_LIBRARIES} ouroboros-dev)
-install(TARGETS oping RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
diff --git a/cmake/tools/ovpn.cmake b/cmake/tools/ovpn.cmake
deleted file mode 100644
index 331daff9..00000000
--- a/cmake/tools/ovpn.cmake
+++ /dev/null
@@ -1,6 +0,0 @@
-if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
- add_executable(ovpn "${TOOLS_SOURCE_DIR}/ovpn/ovpn.c")
- target_include_directories(ovpn PRIVATE ${TOOLS_INCLUDE_DIRS})
- target_link_libraries(ovpn PUBLIC ouroboros-dev)
- install(TARGETS ovpn RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-endif ()
diff --git a/cmake/tools/tools.cmake b/cmake/tools/tools.cmake
deleted file mode 100644
index 26abdc63..00000000
--- a/cmake/tools/tools.cmake
+++ /dev/null
@@ -1,8 +0,0 @@
-set(TOOLS_SOURCE_DIR "${CMAKE_SOURCE_DIR}/src/tools")
-set(TOOLS_BINARY_DIR "${CMAKE_BINARY_DIR}/src/tools")
-
-set(TOOLS_INCLUDE_DIRS
- ${TOOLS_SOURCE_DIR}
- ${CMAKE_SOURCE_DIR}/include
- ${CMAKE_BINARY_DIR}/include
-)