awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 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·23 views

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.
  • Build Systems - Practical examples for various CMake scenarios.
  • Project Templates - 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.

Star history

Star history chart for pr0g/cmake-examplesStar history chart for pr0g/cmake-examples

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does pr0g/cmake-examples do?

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.

What are the main features of pr0g/cmake-examples?

The main features of pr0g/cmake-examples are: CMake Integrations, Build Automation, Build Systems, Library Dependency Managers, Compilation Database Generators, Cross-Platform Installers, Project Templates, Build Definition Languages.

Which projects share features with pr0g/cmake-examples?

Projects with overlapping indexed features include: 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…

Projects sharing features with Cmake Examples

These projects share indexed features with Cmake Examples. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • premake/premake-corepremake avatar

    premake/premake-core

    3,566View on 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
    View on GitHub↗3,566
  • rust-lang/cargorust-lang avatar

    rust-lang/cargo

    14,624View on 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
    View on GitHub↗14,624
  • ttroy50/cmake-examplesttroy50 avatar

    ttroy50/cmake-examples

    13,066View on 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
    View on GitHub↗13,066
  • nasa/fprimenasa avatar

    nasa/fprime

    10,766View on 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
    View on GitHub↗10,766
  • Compare all 30 related projects→