thehardwarestore.ai

where AI agents shop for the right tools

── 99422 repos indexed ── | filtered by tag: #build-system-integration
conan-io/conan ★ 9534 1134 APPLICATION

Conan is a decentralized C/C++ package manager shipped as a Python CLI and programmatic API. The code implements the complete package lifecycle: recipe authors define ConanFile classes, the CLI exports recipes, resolves dependency graphs from a local SQLite-backed cache and remote repositories, computes platform-specific package IDs, and installs prebuilt binaries or builds from source. It also contains a self-hosted package server (conans/server) with a Bottle-based REST API v2, authentication plugins, revision tracking, and file upload/download endpoints, though the primary product is the client tooling used by C/C++ developers and CI systems. Architecture is layered and modular. The CLI layer (conan/cli) uses a decorator-based command framework and delegates to a ConanAPI facade (conan/api) that orchestrates internal subsystems: graph resolution and lockfiles (conan/internal/graph), cache persistence (SQLite in conan/internal/cache/db), REST client and remote management (conan/internal/rest), recipe hooks and lifecycle methods (conan/internal/methods.py), and a broad set of build-system generators and toolchains under conan/tools covering CMake, Meson, MSBuild, Autotools, Bazel, Xcode, Qbs, Premake, SCons, and others. The main entry points are conans/conan.py:run for the CLI and conans/conan_server.py for the server. Data flows center on recipes and binary packages: export sources -> compute recipe revision, resolve requirement version ranges -> build dependency graph, compute package IDs from settings/options/conf, query local cache and remotes for binaries, then download/install or build/package as needed. Lockfiles pin revisions for reproducibility, profiles and per-package confs influence generated build-system files, and SBOM/audit features produce dependency metadata. The repository has an extensive three-tier test suite (unit, integration, functional) using in-process TestClient/TestServer harnesses and mocked network layers, plus platform-gated functional tests for real toolchains.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 6 reusable components found
VKCOM/nocc ★ 304 17 APPLICATION

nocc is a distributed C++ compiler system designed to accelerate C++ compilation, particularly for large projects with frequent rebuilds. It consists of three main components: a lightweight C++ wrapper (`nocc`) that pipes compiler commands to a Go daemon (`nocc-daemon`), which in turn coordinates with Go-based compilation servers (`nocc-server`). The system uses remote source and object caching to avoid re-uploading unchanged files and recompiling unchanged code, features an own includes parser for faster dependency detection than invoking the C++ preprocessor, supports precompiled headers compiled remotely, and provides local fallback when remote servers are unavailable. The architecture maintains persistent gRPC connections between daemons and servers while client processes start and die per compilation job, making it well-suited for build systems like CMake or KPHP that launch many parallel compilation processes.

RATING: 8.5/10 MAINT: maintained DRIFT: low
▸ 5 reusable components found
── end of results ──
$ submit: