Skip to content

Latest commit

 

History

History
79 lines (62 loc) · 3.17 KB

CONTRIBUTING.rst

File metadata and controls

79 lines (62 loc) · 3.17 KB

Contributing to CMake

The following summarizes the process for contributing changes. See documentation on CMake Development for more information.

Community

CMake is maintained and supported by Kitware and developed in collaboration with a productive community of contributors. Please post to the Development category of the CMake Forum to raise discussion of development topics.

Patches

CMake uses Kitware's GitLab Instance to manage development and code review. To contribute patches:

  1. Fork the upstream CMake Repository into a personal account.
  2. Run Utilities/SetupForDevelopment.sh for local git configuration.
  3. See Building CMake for building CMake locally.
  4. See the CMake Source Code Guide for coding guidelines and the CMake Testing Guide for testing instructions.
  5. Create a topic branch named suitably for your work. Base all new work on the upstream master branch. Base work on the upstream release branch only if it fixes a regression or bug in a feature new to that release. If in doubt, prefer master. Reviewers may simply ask for a rebase if deemed appropriate in particular cases.
  6. Create commits making incremental, distinct, logically complete changes with appropriate commit messages.
  7. Push the topic branch to a personal repository fork on GitLab.
  8. Create a GitLab Merge Request targeting the upstream master branch (even if the change is intended for merge to the release branch). Check the box labeled "Allow commits from members who can merge to the target branch". This will allow maintainers to make minor edits on your behalf.

The merge request will enter the CMake Review Process for consideration.

CMake Dashboard Client

The integration testing step of the CMake Review Process uses a set of testing machines that follow an integration branch on their own schedule to drive testing and submit results to the CMake CDash Page. Anyone is welcome to provide testing machines in order to help keep support for their platforms working.

See documentation on CMake Integration Testing for more information.

License

We do not require any formal copyright assignment or contributor license agreement. Any contributions intentionally sent upstream are presumed to be offered under terms of the OSI-approved BSD 3-clause License. See Copyright.txt for details.