awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
pr0g avatar

pr0g/cmake-examples

0
View on GitHub↗
1,231 stars·66 forks·CMake·MIT·8 vues

Cmake Examples

This project provides a collection of minimal, modern configuration templates designed to demonstrate industry-standard practices for managing C and C++ build workflows. It serves as a practical guide for developers to implement build automation, dependency management, and project structuring using the CMake build system.

The repository distinguishes itself by offering modular examples that cover complex build requirements, such as hierarchical project organization and the integration of external third-party source code. It emphasizes the use of target-based dependency graphs and interface-based library exporting to ensure that include paths, compiler flags, and preprocessor definitions propagate correctly across components.

The examples encompass a broad range of capabilities, including cross-platform build environment configuration, automated installation of binaries and headers, and the generation of compilation databases for external analysis tools. It also addresses common development tasks like managing multiple build configurations, handling system-level dependencies, and configuring header-only libraries.

The documentation provides a structured approach to standardizing project layouts and automating build sequences to ensure consistent results across different operating systems.

Features

  • CMake Integrations - Defines project structures, compiler flags, and build targets using standardized CMake scripts.
  • Build Automation - Provides standardized configuration and build sequences to streamline C++ development lifecycles.
  • Build Systems - Provides a collection of minimal, modern configuration templates for managing complex build systems and dependency graphs.
  • Library Dependency Managers - Automates the integration, fetching, and configuration of third-party C++ library dependencies.
  • Compilation Database Generators - Produces standardized JSON files mapping source files to compiler commands for integration with external code analysis tools.
  • Cross-Platform Installers - Packages compiled binaries and headers into standard directory structures for cross-platform installation.
  • Systèmes de build - Practical examples for various CMake scenarios.
  • Modèles de projet - Collection of simple, modern project examples.
  • Build Definition Languages - Uses domain-specific languages to declaratively define software build processes and project structures.
  • Dependency Graph Runners - Builds directed acyclic graphs of components where properties propagate automatically to dependent targets.
  • Library Interfaces - Defines public-facing requirements for libraries to ensure downstream consumers receive correct include paths and preprocessor definitions.
  • Build Artifact Isolation - Separates source code from generated build artifacts to keep project directories clean and support multiple build configurations.
  • Package Dependency Managers - Downloads and incorporates external project source code directly into the build process to simplify dependency management.
  • Source Fetchers - Downloads and integrates third-party source code during the configuration phase to ensure dependencies are compiled within the same environment.
  • External Library Integrations - Downloads and incorporates third-party source code directly into the build process so external libraries are compiled alongside the main project.
  • Build Configurations - Supports multiple build configurations like Debug and Release to manage environment-specific build parameters.
  • Header-Only Libraries - Defines interface requirements and compiler flags for libraries consisting solely of header files to ensure correct propagation.
  • Preprocessors - Passes custom macros to the compiler during the generation phase to enable conditional compilation logic.
  • Project Organization - Provides modular templates and hierarchical project structures to improve maintainability and separation of concerns in C++ projects.
  • Dependency Management - Provides automated systems for tracking and integrating third-party source code dependencies into the build process.

Historique des stars

Graphique de l'historique des stars pour pr0g/cmake-examplesGraphique de l'historique des stars pour pr0g/cmake-examples

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait pr0g/cmake-examples ?

This project provides a collection of minimal, modern configuration templates designed to demonstrate industry-standard practices for managing C and C++ build workflows. It serves as a practical guide for developers to implement build automation, dependency management, and project structuring using the CMake build system.

Quelles sont les fonctionnalités principales de pr0g/cmake-examples ?

Les fonctionnalités principales de pr0g/cmake-examples sont : CMake Integrations, Build Automation, Build Systems, Library Dependency Managers, Compilation Database Generators, Cross-Platform Installers, Systèmes de build, Modèles de projet.

Quelles sont les alternatives open-source à pr0g/cmake-examples ?

Les alternatives open-source à pr0g/cmake-examples incluent : premake/premake-core — Premake is a build system generator and cross-platform build configuration tool. It functions as a scripting engine… rust-lang/cargo — Cargo is the official build system and package manager for the Rust programming language. It provides a unified… ttroy50/cmake-examples — This project is a collection of reference implementations and templates for CMake build patterns and configuration… nasa/fprime — F Prime is a component-based framework designed for the development and deployment of embedded and spaceflight… nim-lang/nim — Nim is a statically typed, compiled systems programming language designed for high performance and cross-platform… c3lang/c3c — c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static…

Alternatives open source à Cmake Examples

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Cmake Examples.
  • premake/premake-coreAvatar de premake

    premake/premake-core

    3,566Voir sur GitHub↗

    Premake is a build system generator and cross-platform build configuration tool. It functions as a scripting engine that transforms scripted workspace definitions into native project files for multiple build toolsets and compilers. Additionally, it can generate JSON-formatted compilation databases for use with language servers and static analysis tools. The project distinguishes itself through a programmable runtime that allows for internal function hooking and the interception of build logic. This extensibility enables users to create custom toolset generators, implement modular extensions f

    Cchacktoberfestlua
    Voir sur GitHub↗3,566
  • rust-lang/cargoAvatar de rust-lang

    rust-lang/cargo

    14,624Voir sur GitHub↗

    Cargo is the official build system and package manager for the Rust programming language. It provides a unified command-line interface that orchestrates the entire development lifecycle, including compiling source code, managing complex dependency graphs, running tests, and distributing packages through a centralized registry. By utilizing declarative manifest files, it ensures that builds remain reproducible and consistent across different environments. The tool distinguishes itself through its deep integration with the Rust compiler and its sophisticated approach to project management. It f

    Rustcargopackage-managerrust
    Voir sur GitHub↗14,624
  • ttroy50/cmake-examplesAvatar de ttroy50

    ttroy50/cmake-examples

    13,066Voir sur GitHub↗

    This project is a collection of reference implementations and templates for CMake build patterns and configuration workflows. It provides standardized templates for managing C++ project structures, compiler flags, and dependency linking. The repository includes a packaging guide for creating installation targets and platform-specific software installers. It also provides a testing suite that demonstrates the integration of unit testing and static analysis tools into the build process. Additional reference configurations cover the execution of builds and tests within isolated, containerized e

    CMakeboostcatchclang
    Voir sur GitHub↗13,066
  • nasa/fprimeAvatar de nasa

    nasa/fprime

    10,766Voir sur GitHub↗

    F Prime is a component-based framework designed for the development and deployment of embedded and spaceflight software. It provides a modular architecture that decouples software logic from communication interfaces, allowing developers to define system structures through a domain-specific modeling language. This model-based approach enables automated code generation, ensuring consistency across complex system topologies while maintaining strict interface contracts between software modules. The framework distinguishes itself through its integrated build system and ground data operations suite

    C++componentscppembedded
    Voir sur GitHub↗10,766
  • Voir les 30 alternatives à Cmake Examples→