{"id":20563235,"url":"https://github.com/gazebosim/gz-cmake","last_synced_at":"2025-12-12T01:05:16.964Z","repository":{"id":37067758,"uuid":"255865231","full_name":"gazebosim/gz-cmake","owner":"gazebosim","description":"A set of CMake modules that are used by the C++-based Gazebo projects.","archived":false,"fork":false,"pushed_at":"2025-02-24T19:39:33.000Z","size":4226,"stargazers_count":27,"open_issues_count":54,"forks_count":34,"subscribers_count":11,"default_branch":"gz-cmake4","last_synced_at":"2025-02-24T20:32:48.935Z","etag":null,"topics":["build-tools","cmake","cmake-modules","gazebo","gazebosim","hacktoberfest","ignition","ignition-cmake","ignition-robotics","robotics","robotics-simulation"],"latest_commit_sha":null,"homepage":"https://gazebosim.org/libs/cmake","language":"CMake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gazebosim.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-15T09:17:43.000Z","updated_at":"2025-02-24T19:36:39.000Z","dependencies_parsed_at":"2023-09-27T03:57:15.790Z","dependency_job_id":"fc1abe5d-9859-4cf8-8fc5-13abe5e12a71","html_url":"https://github.com/gazebosim/gz-cmake","commit_stats":null,"previous_names":[],"tags_count":79,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gazebosim%2Fgz-cmake","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gazebosim%2Fgz-cmake/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gazebosim%2Fgz-cmake/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gazebosim%2Fgz-cmake/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gazebosim","download_url":"https://codeload.github.com/gazebosim/gz-cmake/tar.gz/refs/heads/gz-cmake4","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242171554,"owners_count":20083572,"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":["build-tools","cmake","cmake-modules","gazebo","gazebosim","hacktoberfest","ignition","ignition-cmake","ignition-robotics","robotics","robotics-simulation"],"created_at":"2024-11-16T04:17:10.328Z","updated_at":"2025-12-12T01:05:16.916Z","avatar_url":"https://github.com/gazebosim.png","language":"CMake","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gazebo CMake : CMake Modules for Gazebo Projects\n\n**Maintainer:** scpeters AT openrobotics.org\n\n[![GitHub open issues](https://img.shields.io/github/issues-raw/gazebosim/gz-cmake.svg)](https://github.com/gazebosim/gz-cmake/issues)\n[![GitHub open pull requests](https://img.shields.io/github/issues-pr-raw/gazebosim/gz-cmake.svg)](https://github.com/gazebosim/gz-cmake/pulls)\n[![Discourse topics](https://img.shields.io/discourse/https/community.gazebosim.org/topics.svg)](https://community.gazebosim.org)\n[![Hex.pm](https://img.shields.io/hexpm/l/plug.svg)](https://www.apache.org/licenses/LICENSE-2.0)\n\nBuild | Status\n-- | --\nUbuntu Noble  | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=gz_cmake-ci-gz-cmake4-noble-amd64)](https://build.osrfoundation.org/job/gz_cmake-ci-gz-cmake4-noble-amd64)\nHomebrew      | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=gz_cmake-ci-gz-cmake4-homebrew-amd64)](https://build.osrfoundation.org/job/gz_cmake-ci-gz-cmake4-homebrew-amd64)\nWindows       | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=gz_cmake-4-win)](https://build.osrfoundation.org/job/gz_cmake-4-win)\n\n# Table of Contents\n\n[Features](#features)\n\n[Install](#install)\n\n* [Binary Install](#binary-install)\n\n* [Source Install](#source-install)\n\n    * [Prerequisites](#prerequisites)\n\n    * [Building from Source](#building-from-source)\n\n[Usage](#usage)\n\n[Documentation](#documentation)\n\n[Testing](#testing)\n\n[Folder Structure](#folder-structure)\n\n[Contributing](#contributing)\n\n[Code of Conduct](#code-of-conduct)\n\n[Versioning](#versioning)\n\n[License](#license)\n\n# Features\n\ngz-cmake provides a set of cmake modules that are used by the C++ based Gazebo projects. These modules help to control the quality and consistency of the Gazebo projects build systems.\n\nThese modules are tailored to the Gazebo projects, so their use for non-Gazebo projects might be limited, but they may serve as a useful reference for setting up a modern cmake build system using good practices.\n\n# Install\n\nWe recommend following the [Binary Install](#binary-install) instructions to get up and running as quickly and painlessly as possible.\n\nThe [Source Install](#source-install) instructions should be used if you need the very latest software improvements, you need to modify the code, or you plan to make a contribution.\n\n## Binary Install\n\nOn Ubuntu systems, `apt-get` can be used to install `gz-cmake`:\n\n```\n$ sudo apt install libgz-cmake\u003c#\u003e-dev\n```\n\nBe sure to replace `\u003c#\u003e` with a number value, such as `1` or `2`, depending on which version you need.\n\n## Source Install\n\n### Prerequisites\n\nThe only prerequisite of `gz-cmake` is `cmake`. Ubuntu users can install cmake with the package manager:\n\n```\n$ sudo apt install cmake\n```\n\n### Building from source\n\nTo build and install from source, you can clone the repo and use cmake to install the modules as though this is a regular cmake project:\n\n```\n$ git clone https://github.com/gazebosim/gz-cmake\n$ cd gz-cmake\n$ mkdir build\n$ cd build\n$ cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/install/dir\n$ make -j8\n$ make install\n```\n\nReplace `/path/to/install/dir` to whatever directory you want to install this package to.\n\n# Usage\n\nDocumentation can be accessed at https://gazebosim.org/libs/cmake\n\n[Examples](https://github.com/gazebosim/gz-cmake/tree/gz-cmake4/examples) are available in this repository.\n\n[Tutorials](https://github.com/gazebosim/gz-cmake/tree/gz-cmake4/tutorials) are also available in this repository.\n\n# Documentation\n\nDocumentation for `gz-cmake` can be found within the source code, and also in the [MIGRATION.md guide](https://github.com/gazebosim/gz-cmake/blob/gz-cmake4/Migration.md).\n\n# Testing\n\nA fuller suite of tests in the `examples` directory can be enabled by building with `BUILDSYSTEM_TESTING` enabled.\nTests can be run by building the `test` target. From your build directory you can run:\n\n```\n$ cmake .. -DBUILDSYSTEM_TESTING=1\n$ make test\n```\n\n# Folder Structure\n\n* `cmake`: cmake modules that get installed by this package\n* `codecheck`: code linting and static analyzing utilities that get installed by this package\n* `config`: template files for producing the config-files of `gz-cmake`; these are only used internally\n* `doc`: template files to help Gazebo projects generate their own documentation\n* `examples`: fake projects that are used to test `gz-cmake`\n* `include`: C++ utility header files that get installed with `gz-cmake`\n* `test`: a directory of tests for the C++ utility component of `gz-cmake`\n* `tools`: scripts for continuous integration testing\n\n# Contributing\n\nPlease see the\n[contribution guide](https://gazebosim.org/docs/all/contributing).\n\n# Code of Conduct\n\nPlease see\n[CODE_OF_CONDUCT.md](https://github.com/gazebosim/gz-sim/blob/main/CODE_OF_CONDUCT.md).\n\n# Versioning\n\nThis library uses [Semantic Versioning](https://semver.org/). Additionally, this library is part of the [Gazebo project](https://gazebosim.org) which periodically releases a versioned set of compatible and complementary libraries. See the [Gazebo website](https://gazebosim.org) for version and release information.\n\n# License\n\nThis library is licensed under [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0). See also the [LICENSE](https://github.com/gazebosim/gz-cmake/blob/main/LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgazebosim%2Fgz-cmake","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgazebosim%2Fgz-cmake","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgazebosim%2Fgz-cmake/lists"}