summaryrefslogtreecommitdiff
path: root/cmake/dependencies/system
Commit message (Collapse)AuthorAgeFilesLines
* build: Fix clobbering of FUSE_PREFIXDimitri Staessens28 hours1-13/+14
| | | | | | | | | | | | | | | | | | | pkg_check_modules(FUSE ...) in fuse.cmake tells CMake's pkg-config module to use FUSE as the variable prefix. pkg-config then populates FUSE_PREFIX with the install prefix of libfuse (i.e., usr). This overwrote the FUSE_PREFIX cache variable set to /tmp/ouroboros in global.cmake. IRMd was calling mkdir("/usr", 0777) on startup and rmdir("/usr") on shutdown. The rmdir only fails because usr isn't empty — if it ever were (e.g., in a minimal container), it would deleted /usr. The fix renames the pkg-config prefix from FUSE to FUSE_PKG, so pkg-config populates FUSE_PKG_PREFIX (harmless) instead of clobbering FUSE_PREFIX. Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks> Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
* build: Refactor CMake back to in-tree CMakeListsDimitri Staessens28 hours6-0/+110
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>