{"id":19982479,"url":"https://github.com/netlify/cmake","last_synced_at":"2026-02-03T13:34:06.173Z","repository":{"id":47628477,"uuid":"279399141","full_name":"netlify/cmake","owner":"netlify","description":"Netlify's Common CMake Modules","archived":false,"fork":false,"pushed_at":"2021-08-20T19:32:14.000Z","size":48,"stargazers_count":5,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-01-15T17:00:33.710Z","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":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/netlify.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-07-13T19:57:44.000Z","updated_at":"2024-11-05T00:10:15.000Z","dependencies_parsed_at":"2022-09-22T05:03:15.069Z","dependency_job_id":null,"html_url":"https://github.com/netlify/cmake","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/netlify/cmake","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netlify%2Fcmake","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netlify%2Fcmake/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netlify%2Fcmake/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netlify%2Fcmake/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/netlify","download_url":"https://codeload.github.com/netlify/cmake/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netlify%2Fcmake/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29046629,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T10:09:22.136Z","status":"ssl_error","status_checked_at":"2026-02-03T10:09:16.814Z","response_time":96,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":[],"created_at":"2024-11-13T04:11:44.572Z","updated_at":"2026-02-03T13:34:06.155Z","avatar_url":"https://github.com/netlify.png","language":"CMake","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Overview\n\nThis is the common set of CMake based modules used by all C++ projects at\nNetlify. For the most part, these include `FindXXX.cmake` files, but also\nsupport a few specific functions. Some of these will be removed in the future\nonce Netlify migrates to using IXM for its projects, and this will instead work\nas a _Project Blueprint_ for Netlify's internal projects.\n\n## Minimum Supported Platform\n\nThese are the only settings where these modules are used.\n\n * Ubuntu 20.04\n * Clang 10\n * C++2a\n * CMake 3.16\n\nAny other compilers, operating systems, or languages are not guaranteed to be\nsupported.\n\n# Roadmap\n\nThe following features are not yet (fully) implemented, but are currently planned\n\n * [ ] Better IXM Integration (This is reliant on IXM being released)\n * [x] Custom Toolchain File (To ensure Clang, LLD, libc++, etc.)\n * [ ] Profile Guidance Code Generation\n * [x] Sanitizer Support\n\n# Usage\n\nThis project is intended to be acquired via [FetchContent][1]. Thus, the\nfollowing code should go at the top of every project's root `CMakeLists.txt`\nfile.\n\n```cmake\ncmake_minimum_required(VERSION 3.16)\ninclude(FetchContent)\nFetchContent_Declare(cmake GIT_REPOSITORY https://github.com/netlify/cmake GIT_TAG main)\nFetchContent_MakeAvailable(cmake)\n```\n\nThis will pull in the Netlify CMake Library, set several internal values,\nprepare various properties, etc.\n\nIf using additional CMake libraries via `FetchContent`, simply declare more\nof them before calling `FetchContent_MakeAvailable`.\n\n## Projects\n\nMost projects will do the following\n\n```cmake\ncmake_minimum_required(VERSION 3.16)\ninclude(FetchContent)\nFetchContent_Declare(cmake GIT_REPOSITORY https://github.com/netlify/cmake GIT_TAG main)\nFetchContent_MakeAvailable(cmake)\nset(CMAKE_PROJECT_INCLUDE ${NETLIFY_PROJECT_PRELUDE})\nproject(\u003cproject-name-here\u003e LANGUAGES CXX)\n```\n\nThis will attempt to set and find the most common flags and variables for\nour given target.\n\n# Behavior\n\nNetlify's CMake modules perform the following operations when first included.\nThis is done to ensure that we have a guaranteed behavior across all of our\nprojects. However, this might disrupt others workflows. The changes these\nmodules do are mentioned below:\n\n * CTest is included, but the CDash related targets are _disabled_.\n * `CMAKE_EXPORT_COMPILE_COMMANDS` is set to `YES`.\n * `CMAKE_POLICY_DEFAULT_CMP0077` is set to `NEW`.\n * In-Source builds are _disabled_ with a hard error\n * The `Catch2` Unit Testing library is declared.\n * Color diagnostics are enabled _by default_.\n * `-Og` and `-ggdb` are enabled _by default_ for Debug based builds.\n\n[1]: https://cmake.org/cmake/help/latest/module/FetchContent.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetlify%2Fcmake","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetlify%2Fcmake","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetlify%2Fcmake/lists"}