blob: 434f0f448a5062200171146589c1c821ca6fe6b4 [file] [log] [blame]
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 subscribe and post to the `CMake Developers List`_ to raise
discussion of development topics.
.. _`Kitware`:
.. _`CMake Developers List`:
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/`_ for local configuration.
#. Base all new work on the upstream ``master`` branch.
#. Create commits making incremental, distinct, logically complete changes.
#. Push a topic branch to a personal repository fork on GitLab.
#. Create a GitLab Merge Request targeting the upstream ``master`` branch.
The merge request will enter the `CMake Review Process`_ for consideration.
.. _`Kitware's GitLab Instance`:
.. _`CMake Repository`:
.. _`Utilities/`: Utilities/
.. _`CMake Review Process`: Help/dev/review.rst
Code Style
We use `clang-format`_ to define our style for C++ code in the CMake source
tree. See the `.clang-format`_ configuration file for our style settings.
Use ``clang-format`` version 3.8 or higher to format source files.
See also the `Utilities/Scripts/clang-format.bash`_ script.
.. _`clang-format`:
.. _`.clang-format`: .clang-format
.. _`Utilities/Scripts/clang-format.bash`: Utilities/Scripts/clang-format.bash
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.
.. _`Copyright.txt`: Copyright.txt