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
ttroy50 avatar

ttroy50/cmake-examples

0
View on GitHub↗
13,066 stars·2,532 forks·CMake·MIT·16 viewsttroy50.github.io/cmake-examples↗

Cmake Examples

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 environments. The project also demonstrates broader capabilities in C++ project structuring, build automation, and cross-platform distribution.

Features

  • CMake Integrations - Provides a comprehensive set of reference implementations for CMake-based build automation and project configuration.
  • Official Examples - Serves as a reference collection of implementations for common CMake build patterns and workflows.
  • Build Configurations - Provides scripts that define project structure and compiler settings to generate platform-specific build files.
  • Compilation Setting Configuration - Manages project standards and compiler flags to control the transformation of source code into binaries.
  • Build System Templates - Ships standardized templates for managing C++ project structures, compiler flags, and dependencies.
  • Build Toolchain Abstractions - Uses a high-level configuration language to map generic build instructions to specific compiler flags and system settings.
  • Build Process Standardization - Defines standardized build, test, and packaging processes using templates to maintain consistency across environments.
  • Testing Integration Examples - Demonstrates the integration of unit testing and static analysis tools directly into the CMake build process.
  • Container Build Stages - Creates containers with specific build tool versions and dependencies to maintain a consistent execution environment.
  • Containerized Build Environments - Packages specific build system versions and dependencies into containers for consistent execution across development machines.
  • Build Environment Isolation - Implements containerized environments to isolate build tools and dependencies for consistent compilation and testing.
  • Module-Based Dependency Managers - Defines explicit dependencies between build targets to control compilation order and link libraries and executables.
  • External Library Linking - Configures linker flags and dependencies to connect static or shared libraries into a single executable.
  • Project Structure Organization - Organizes the codebase into nested directory structures and independent sub-projects to manage complex library hierarchies.
  • Project Structures - Implements standardized layouts for dividing large projects into separate folders and independent sub-projects.
  • Software Testing - Integrates unit testing and static analysis into the build pipeline for early bug and leak detection.
  • Containerized Compatibility Testing - Runs test scripts inside multiple container versions to verify build correctness across different operating system environments.
  • Installer Packages - Demonstrates how to generate standalone platform-specific installers for binaries and source code.
  • Packaging Guides - Provides a detailed guide on creating installation targets and platform-specific installers using CMake.
  • Containerized Task Execution - Executes shell commands and tests within isolated container instances using non-root users and custom volume mounts.
  • Cross-Platform Installers - Provides patterns for creating cross-platform installers that function across different operating systems.
  • Installation Target Directives - Provides directives for collecting binaries and libraries and moving them to specific system paths for distribution.
  • Static Analysis - Integrates memory leak and standard violation scanners directly into the build process to detect bugs during compilation.
  • Unit Testing - Provides a framework for executing and verifying individual code units using external testing libraries.
  • Project Templates - Tutorial-style examples for common build tasks.

Star history

Star history chart for ttroy50/cmake-examplesStar history chart for ttroy50/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

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.
  • pr0g/cmake-examplespr0g avatar

    pr0g/cmake-examples

    1,231View on GitHub↗

    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-ba

    CMakecmakecmake-examplescmake-scripts
    View on GitHub↗1,231
  • 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
  • labs42io/clean-code-typescriptlabs42io avatar

    labs42io/clean-code-typescript

    9,764View on GitHub↗

    This project is a set of software engineering standards and architectural patterns for writing maintainable and refactorable TypeScript code. It provides a comprehensive guide for implementing clean code principles, focusing on the application of SOLID design and structural patterns to build decoupled systems. The framework prioritizes composition over inheritance and utilizes dependency inversion to reduce system coupling. It establishes standards for strict static typing and the use of read-only modifiers to ensure type safety and eliminate runtime errors. The guidance covers a broad range

    TypeScriptbest-practicesclean-architectureclean-code
    View on GitHub↗9,764
  • earthly/earthlyearthly avatar

    earthly/earthly

    12,035View on GitHub↗

    Earthly is a containerized build system and Docker build framework designed for creating reproducible build pipelines. It ensures environment consistency by executing every build step inside an isolated container, combining the isolation of container images with dependency tracking and parallel execution. The system differentiates itself through a focus on hermeticity and multiplatform support, allowing for the generation of container images targeting multiple CPU architectures within a single execution flow. It maintains a hermetic build environment by isolating network access and utilizing

    Gobuildbuild-automationbuild-system
    View on GitHub↗12,035
Compare all 30 related projects→

Frequently asked questions

What does ttroy50/cmake-examples do?

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.

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

The main features of ttroy50/cmake-examples are: CMake Integrations, Official Examples, Build Configurations, Compilation Setting Configuration, Build System Templates, Build Toolchain Abstractions, Build Process Standardization, Testing Integration Examples.

Which projects share features with ttroy50/cmake-examples?

Projects with overlapping indexed features include: pr0g/cmake-examples — This project provides a collection of minimal, modern configuration templates designed to demonstrate… nasa/fprime — F Prime is a component-based framework designed for the development and deployment of embedded and spaceflight… labs42io/clean-code-typescript — This project is a set of software engineering standards and architectural patterns for writing maintainable and… earthly/earthly — Earthly is a containerized build system and Docker build framework designed for creating reproducible build pipelines.… rust-lang/rust-by-example — This project is an interactive programming education resource and tutorial designed for learning the Rust programming… friendlyanon/cmake-init — cmake-init is a project generator and build system boilerplate designed to automate the initialization of C++…