CONTRIBUTING.rst
Contributing to CMake
The following summarizes the process for contributing changes.
See documentation on CMake Development_ for more information.
.. _CMake Development: Help/dev/README.rst
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.
.. _Kitware: https://www.kitware.com/cmake
.. _CMake Forum: https://discourse.cmake.org
CMake uses Kitware's GitLab Instance_ to manage development and code review.
To contribute patches:
#. Fork the upstream CMake Repository_ into a personal account.
#. Run Utilities/SetupForDevelopment.sh_ for local git configuration.
#. See Building CMake_ for building CMake locally.
#. See the CMake Source Code Guide_ for coding guidelines
and the CMake Testing Guide_ for testing instructions.
#. 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.
#. Create commits making incremental, distinct, logically complete changes
with appropriate commit messages_.
#. Push the topic branch to a personal repository fork on GitLab.
#. 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.
.. _Kitware's GitLab Instance: https://gitlab.kitware.com
.. _CMake Repository: https://gitlab.kitware.com/cmake/cmake
.. _Utilities/SetupForDevelopment.sh: Utilities/SetupForDevelopment.sh
.. _Building CMake: README.rst#building-cmake
.. _CMake Source Code Guide: Help/dev/source.rst
.. _CMake Testing Guide: Help/dev/testing.rst
.. _commit messages: Help/dev/review.rst#commit-messages
.. _CMake Review Process: Help/dev/review.rst
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.
.. _CMake CDash Page: https://open.cdash.org/index.php?project=CMake
.. _CMake Integration Testing: Help/dev/integration-testing.rst
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 LICENSE.rst_ for details.
.. _LICENSE.rst: LICENSE.rst