2014-01-29 15:56:27 +00:00
|
|
|
Contributing to CMake
|
|
|
|
*********************
|
|
|
|
|
2017-02-23 20:56:50 +00:00
|
|
|
The following summarizes the process for contributing changes.
|
|
|
|
See documentation on `CMake Development`_ for more information.
|
|
|
|
|
|
|
|
.. _`CMake Development`: Help/dev/README.rst
|
|
|
|
|
2014-01-29 15:56:27 +00:00
|
|
|
Community
|
|
|
|
=========
|
|
|
|
|
2014-06-03 13:19:57 +00:00
|
|
|
CMake is maintained and supported by `Kitware`_ and developed in
|
2014-02-03 16:10:02 +00:00
|
|
|
collaboration with a productive community of contributors.
|
2016-09-28 19:16:19 +00:00
|
|
|
Please subscribe and post to the `CMake Developers List`_ to raise
|
|
|
|
discussion of development topics.
|
2014-02-03 16:10:02 +00:00
|
|
|
|
2014-06-03 13:19:57 +00:00
|
|
|
.. _`Kitware`: http://www.kitware.com/cmake
|
2015-09-25 19:44:12 +00:00
|
|
|
.. _`CMake Developers List`: https://cmake.org/mailman/listinfo/cmake-developers
|
2014-01-29 15:56:27 +00:00
|
|
|
|
|
|
|
Patches
|
|
|
|
=======
|
|
|
|
|
2016-09-28 19:16:19 +00:00
|
|
|
CMake uses `Kitware's GitLab Instance`_ to manage development and code review.
|
|
|
|
To contribute patches:
|
|
|
|
|
|
|
|
#. Fork the upstream `CMake Repository`_ into a personal account.
|
2017-02-23 19:10:56 +00:00
|
|
|
#. Run `Utilities/SetupForDevelopment.sh`_ for local configuration.
|
2016-09-28 19:16:19 +00:00
|
|
|
#. 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.
|
|
|
|
|
2017-02-23 19:56:00 +00:00
|
|
|
The merge request will enter the `CMake Review Process`_ for consideration.
|
|
|
|
|
2016-09-28 19:16:19 +00:00
|
|
|
.. _`Kitware's GitLab Instance`: https://gitlab.kitware.com
|
|
|
|
.. _`CMake Repository`: https://gitlab.kitware.com/cmake/cmake
|
2017-02-23 19:10:56 +00:00
|
|
|
.. _`Utilities/SetupForDevelopment.sh`: Utilities/SetupForDevelopment.sh
|
2017-02-23 19:56:00 +00:00
|
|
|
.. _`CMake Review Process`: Help/dev/review.rst
|
2014-01-29 15:56:27 +00:00
|
|
|
|
2016-05-16 14:53:59 +00:00
|
|
|
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.
|
2016-09-28 15:46:40 +00:00
|
|
|
See also the `Utilities/Scripts/clang-format.bash`_ script.
|
2016-05-16 14:53:59 +00:00
|
|
|
|
|
|
|
.. _`clang-format`: http://clang.llvm.org/docs/ClangFormat.html
|
|
|
|
.. _`.clang-format`: .clang-format
|
2016-09-28 15:46:40 +00:00
|
|
|
.. _`Utilities/Scripts/clang-format.bash`: Utilities/Scripts/clang-format.bash
|
2016-05-16 14:53:59 +00:00
|
|
|
|
2014-01-29 15:56:27 +00:00
|
|
|
License
|
|
|
|
=======
|
|
|
|
|
|
|
|
We do not require any formal copyright assignment or contributor license
|
|
|
|
agreement. Any contributions intentionally sent upstream are presumed
|
2015-07-02 13:08:35 +00:00
|
|
|
to be offered under terms of the OSI-approved BSD 3-clause License.
|
2014-01-29 15:56:27 +00:00
|
|
|
See `Copyright.txt`_ for details.
|
|
|
|
|
|
|
|
.. _`Copyright.txt`: Copyright.txt
|