{"id":22473445,"url":"https://github.com/lecrisut/cmake-template","last_synced_at":"2026-03-19T23:00:50.356Z","repository":{"id":205793830,"uuid":"712475822","full_name":"LecrisUT/CMake-Template","owner":"LecrisUT","description":"Modern CMake Project","archived":false,"fork":false,"pushed_at":"2023-12-18T20:28:30.000Z","size":45,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2023-12-19T13:57:12.014Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"CMake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LecrisUT.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-10-31T14:43:18.000Z","updated_at":"2023-12-20T16:05:59.667Z","dependencies_parsed_at":null,"dependency_job_id":"5cbbe05a-954c-4de4-b4db-2ff2e6a740bf","html_url":"https://github.com/LecrisUT/CMake-Template","commit_stats":null,"previous_names":["lecrisut/cmake-template"],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LecrisUT%2FCMake-Template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LecrisUT%2FCMake-Template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LecrisUT%2FCMake-Template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LecrisUT%2FCMake-Template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LecrisUT","download_url":"https://codeload.github.com/LecrisUT/CMake-Template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245882167,"owners_count":20687838,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-06T12:28:46.056Z","updated_at":"2026-01-06T20:46:30.848Z","avatar_url":"https://github.com/LecrisUT.png","language":"CMake","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Modern CMake example project\n\n[![CI Status][ci-badge]][ci-link]\n[![Codecov Status][codecov-badge]][codecov-link]\n[![SonarCloud Status][sonarcloud-badge]][sonarcloud-link]\n\n[![Documentation Status][rtd-badge]][rtd-link]\n![CMake Status][cmake-badge]\n\n[ci-badge]: https://github.com/LecrisUT/CMake-Template/actions/workflows/ci.yaml/badge.svg?branch=main\u0026event=push\n[rtd-badge]: https://readthedocs.org/projects/lecrisut-cmake-template/badge/?version=latest\n[codecov-badge]: https://codecov.io/gh/LecrisUT/CMake-Template/graph/badge.svg?token=YAEN2SWB10\n[sonarcloud-badge]: https://sonarcloud.io/api/project_badges/measure?project=LecrisUT_CMake-Template\u0026metric=alert_status\n[cmake-badge]: https://img.shields.io/badge/CMake-3.25-blue?logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGRhdGEtbmFtZT0iTGF5ZXIgMiIgdmlld0JveD0iMCAwIDU0NS41IDU0NS45Ij48cGF0aCBkPSJNNTQ2IDUzNCAyODIgOWwzOSA0MzQgMjI1IDkxeiIgZGF0YS1uYW1lPSJyZWQgcmlnaHQiIHN0eWxlPSJmaWxsOiNmMzI3MzU7c3Ryb2tlLXdpZHRoOjAiLz48cGF0aCBkPSJNNTI1IDU0NiAxNzAgNDAzIDEgNTQ2aDUyNHoiIGRhdGEtbmFtZT0iZ3JlZW4gYm90dG9tIiBzdHlsZT0ic3Ryb2tlLXdpZHRoOjA7ZmlsbDojM2VhZTJiIi8+PHBhdGggZD0iTTI2MyAwIDAgNTIybDI4OC0yNDRMMjYzIDB6IiBkYXRhLW5hbWU9ImJsdWUgbGVmdCIgc3R5bGU9ImZpbGw6IzAwNjhjNztzdHJva2Utd2lkdGg6MCIvPjxwYXRoIGQ9Im0yOTEgMjk5LTEwNSA4OSAxMTcgNDgtMTItMTM3eiIgZGF0YS1uYW1lPSJncmF5IGNlbnRlciIgc3R5bGU9ImZpbGw6I2RjZTNlYztzdHJva2Utd2lkdGg6MCIvPjwvc3ZnPg==\n\n[ci-link]: https://github.com/LecrisUT/CMake-Template/actions?query=branch%3Amain+event%3Apush\n[rtd-link]: https://lecrisut-cmake-template.readthedocs.io/en/latest/?badge=latest\n[codecov-link]: https://codecov.io/gh/LecrisUT/CMake-Template\n[sonarcloud-link]: https://sonarcloud.io/summary/new_code?id=LecrisUT_CMake-Template\n\n\u003c!-- SPHINX-START --\u003e\n\nAn example CMake project highlighting various modern practices. Feel free to\nuse this project as a template for bootstrapping or modernizing your own CMake\nproject.\n\n## Installation\n\nThis project contains a simple hello-world example, so you can clone, build and\nrun to see the template in action. E.g. after cloning this repository you can\nrun:\n\n```console\n$ cmake -B ./build\n$ cmake --build ./build\n$ ./build/hello\nHello, world!\n```\n\n## What's in this template\n\n### Modern CMake design\n\nThis modern design ensures:\n\n- The project can be configured and built easily by a user using\n  [`cmake-presets`][cmake-presets].\n- It can import other CMake projects seamlessly regardless if it's installed\n  on the system, downloaded from the internet or even if the project is not\n  built in CMake.\n- It can be imported and used by other CMake projects, including being\n  partially imported, e.g. to run CTest on the copy of the project already\n  installed.\n- The project is easily navigable in a logical structure, such that a user\n  without any CMake experience can guess on the capabilities of the project.\n- The CMake components can be documented using a [`sphinx`][sphinx]\n  documentation engine.\n\n### Modern CI tools\n\nThe CI tools available are constantly evolving, but broadly they cover:\n\n- GitHub Actions workflows for:\n  - Enforcing coding standards\n  - CI testing the project against multiple distros and compilers\n  - CD to easily publish new releases\n  - Hardening workflow permissions\n  - Maintain a reusable format that can be imported by other projects\n- [`pre-commit`][pre-commit] for managing most coding standards\n- [`sphinx`][sphinx] documentation\n- Static code analysis\n\n### Packaging and downstream tools\n\nIn this template we focus on packaging to Fedora due to their vast CI tools:\n\n- [`packit`][packit]: Used for testing the packaging on [copr], run additional\n  tests on [testing-farm], and make pull-requests downstream (e.g. on [Fedora])\n- [`tmt`][tmt] and [testing-farm]: Used to test your project as if it has been\n  installed and run locally\n\n\u003c!-- SPHINX-END --\u003e\n\n## License\n\nThis template project is licensed under MIT license. Please update the\n[`LICENSE`](LICENSE) file after using this template. You may re-license your\nproject as you wish after using this template.\n\n[cmake-presets]: https://cmake.org/cmake/help/latest/manual/cmake-presets.7.html\n[copr]: https://copr.fedorainfracloud.org/\n[fedora]: https://src.fedoraproject.org/\n[packit]: https://packit.dev\n[pre-commit]: https://pre-commit.com/\n[sphinx]: https://docs.readthedocs.io/en/stable/intro/getting-started-with-sphinx.html\n[testing-farm]: https://docs.testing-farm.io/Testing%20Farm/0.1/index.html\n[tmt]: https://tmt.readthedocs.io/en/stable/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flecrisut%2Fcmake-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flecrisut%2Fcmake-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flecrisut%2Fcmake-template/lists"}