From 4c64d7daef8819d644ab78a911067b16943f023d Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Mon, 2 Feb 2026 22:50:17 +0100 Subject: build: Refactor CMake back to in-tree CMakeLists 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 Signed-off-by: Sander Vrijders --- cmake/include.cmake | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'cmake/include.cmake') diff --git a/cmake/include.cmake b/cmake/include.cmake index c14d205d..ace51d0f 100644 --- a/cmake/include.cmake +++ b/cmake/include.cmake @@ -1,7 +1,6 @@ set(HEADERS_SOURCE_DIR "${CMAKE_SOURCE_DIR}/include/ouroboros") -set(SOCK_BUF_SIZE 10240 CACHE STRING - "Size of the buffer used by the UNIX sockets for local IPC") +# SOCK_BUF_SIZE is in cmake/config/global.cmake configure_file("${CMAKE_SOURCE_DIR}/include/ouroboros/version.h.in" "${CMAKE_BINARY_DIR}/include/ouroboros/version.h" @ONLY) @@ -22,7 +21,4 @@ set(PUBLIC_HEADER_FILES ${HEADERS_SOURCE_DIR}/proto.h ${HEADERS_SOURCE_DIR}/qos.h ${CMAKE_BINARY_DIR}/include/ouroboros/version.h - ) - -install(FILES ${PUBLIC_HEADER_FILES} - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/ouroboros) +) -- cgit v1.2.3