{"id":19653510,"url":"https://github.com/flagarde/cmakecm","last_synced_at":"2026-03-04T13:31:53.400Z","repository":{"id":43402020,"uuid":"348028125","full_name":"flagarde/CMakeCM","owner":"flagarde","description":":books: CMake Community Modules","archived":false,"fork":false,"pushed_at":"2026-02-26T10:53:42.000Z","size":630,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-26T16:35:10.546Z","etag":null,"topics":["cmake","cmake-modules"],"latest_commit_sha":null,"homepage":"","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/flagarde.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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-03-15T15:40:54.000Z","updated_at":"2026-02-26T10:53:45.000Z","dependencies_parsed_at":"2025-02-27T01:44:19.197Z","dependency_job_id":"31fda5e8-f539-4edb-8bd8-8ab0f3d22516","html_url":"https://github.com/flagarde/CMakeCM","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/flagarde/CMakeCM","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flagarde%2FCMakeCM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flagarde%2FCMakeCM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flagarde%2FCMakeCM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flagarde%2FCMakeCM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flagarde","download_url":"https://codeload.github.com/flagarde/CMakeCM/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flagarde%2FCMakeCM/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30081426,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T13:22:36.021Z","status":"ssl_error","status_checked_at":"2026-03-04T13:20:45.750Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["cmake","cmake-modules"],"created_at":"2024-11-11T15:14:22.042Z","updated_at":"2026-03-04T13:31:53.376Z","avatar_url":"https://github.com/flagarde.png","language":"CMake","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📚 CMakeCM  ![GitHub](https://img.shields.io/github/license/flagarde/CMakeCM) ![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/flagarde/CMakeCM) ![GitHub repo size](https://img.shields.io/github/repo-size/flagarde/CMakeCM)\n\nCMake Community Modules\n\n[LC]: https://github.com/flagarde/CMakeCM/actions/workflows/Linux-Clang.yml\n[LCB]: https://github.com/flagarde/CMakeCM/actions/workflows/Linux-Clang.yml/badge.svg\n\n[LG]: https://github.com/flagarde/CMakeCM/actions/workflows/Linux-GCC.yml\n[LGB]: https://github.com/flagarde/CMakeCM/actions/workflows/Linux-GCC.yml/badge.svg\n\n[MC]: https://github.com/flagarde/CMakeCM/actions/workflows/MacOS-Clang.yml\n[MCB]: https://github.com/flagarde/CMakeCM/actions/workflows/MacOS-Clang.yml/badge.svg\n\n[MG]: https://github.com/flagarde/CMakeCM/actions/workflows/MacOS-GCC.yml\n[MGB]: https://github.com/flagarde/CMakeCM/actions/workflows/MacOS-GCC.yml/badge.svg\n\n[MS]: https://github.com/flagarde/CMakeCM/actions/workflows/Windows-MSYS2.yml\n[MSB]: https://github.com/flagarde/CMakeCM/actions/workflows/Windows-MSYS2.yml/badge.svg\n\n[MM]: https://github.com/flagarde/CMakeCM/actions/workflows/Windows-MSVC.yml\n[MMB]: https://github.com/flagarde/CMakeCM/actions/workflows/Windows-MSVC.yml/badge.svg\n\n## 🧪 Tests\n|        | Linux Clang | Linux GCC | MacOS Clang | MacOS GCC | Windows M2sys | Windows MSVC |\n|--------|-------------|-----------|-------------|-----------|---------------|--------------|\n| Github |[![Linux Clang][LCB]][LC]|[![Linux GCC][LGB]][LG]|[![MacOS Clang][MCB]][MC]|[![MacOS GCC][MGB]][MG]|[![Windows MSYS2][MSB]][MS]|[![Windows MSVC][MMB]][MM]|\n\n\n## ✨ Introduction\nThis repository groups some useful `CMake Modules` that can be share between different repositories.\n\n## 📝 Create a Modules List\n\nModules can be `LOCALE` or `REMOTE` :\n\n### ➕ Adding a \"Local\" Module\n\nLocal modules are contained within the repository given by `URL` in `cmmm_modules_list`. If you do not wish to own a separate repository to contain the module, this is the recommended way to do so.\n\nTo start, add a module in the repository. This will be the module that will be included by the user. It should consist of a single CMake file.\n\nAfter adding the module, add a call to `cmcm_module` in the Modules List.\n\nSuppose you add a `SuperCoolModule.cmake` to `modules`. The resulting call in `modules/ModulesList.cmake` will look something like this :\n\n```cmake\ncmcm_module(SuperCoolModule.cmake\n            LOCAL modules/SuperCoolModule.cmake\n            VERSION 1)\n```\n\nThe `VERSION` argument is an arbitrary string that is used to invalidate local copies of the module that have been downloaded.\n\n### ➕ Adding a \"Remote\" Module\n\nIf you have a module that you wish to add, but it is contained in a remote location, you simply need to add the call in the Modules List`:\n\n```cmake\ncmcm_module(MyAwesomeModule.cmake\n            REMOTE https://some-place.example.com/files/path/MyAwesomeModule.cmake\n            VERSION 1)\n```\n\nThe `VERSION` argument is an arbitrary string that is used to invalidate local copies of the module that have been downloaded.\n\nThe `REMOTE` is a `URL` to the file to download for the module. In order for your modification to be accepted into the repository, it must meet certain criteria:\n\n1. The URL *must* use `https`.\n2. The URL *must* refer to a stable file location. If using a `Git URL`, it should refer to a specific commit, not to a branch.\n\n# 📚 ![Module Lists](https://github.com/flagarde/CMakeCM/tree/main/modules)\n* ## Local :\n  * [Color](modules/Colors.cmake) : Defines some colors and text styles.\n  * [CPM](modules/CPM.cmake) : Wrapper for `CPM` the setup-free CMake dependency management.\n  * [DefaultInstallPrefix](modules/DefaultInstallPrefix.cmake) : Set `CMAKE_INSTALL_PREFIX` if it has not been defined before.\n  * [Doctest](modules/Doctest.cmake) : Use `CPM` to set up `doctest`.\n  * [Fmt](modules/Fmt.cmake) : Use `CPM` to set up `fmt`.\n  * [GetLatestCMakeVersion](modules/GetLatestCMakeVersion.cmake) : Obtain the CMake's latest version number.\n  * [IXWebSocket](modules/IXWebSocket.cmake) : Use `CPM` to set up `IXWebSocket`.\n  * [MagicEnum](modules/MagicEnum.cmake) : Use `CPM` to set up `magic_enum`.\n  * [Missives](modules/Missives.cmake) : Defines the `missive` command to use colored and personalized styles.\n  * [OpenSSL](modules/OpenSSL.cmake) : Use `openssl-cmake` https://github.com/flagarde/openssl-cmake to compile `OpenSSL` using `CPM`.\n  * [Ping](modules/Ping.cmake) : A basic ping for CMake. Test if you are online.\n  * [PreventInSourceBuilds](modules/PreventInSourceBuilds.cmake) : Prevents building the project from his source directory.\n  * [SourceLocation](modules/SourceLocation.cmake) : Use `CPM` to set up `source_location`.\n  * [Spdlog](modules/Spdlog.cmake) : Use `CPM` to setup `spdlog`.\n  * [Standards](modules/Standards.cmake) : Set the `CMAKE_C_STANDARD` or `CMAKE_CXX_STANDARD` to the required standard.\n  * [Testings](modules/Testings.cmake) : Some `CMake` functions to perform some tests in `CMake files`.\n  * [Toml11](modules/Toml11.cmake) : Use `CPM` to set up `toml11`.\n  * [Zlib-ng](Zlib-ng.cmake) : Compile `zlib-ng` https://github.com/zlib-ng/zlib-ng using `CPM`.\n\n* ## Remote :\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflagarde%2Fcmakecm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflagarde%2Fcmakecm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflagarde%2Fcmakecm/lists"}