CMake/CONTRIBUTING.rst
KWSys Upstream ca5cdc6741 KWSys 2025-01-24 (2535f5f1)
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit 2535f5f16a4077bba6da2d4cad2a417ca0c3918e (master).

Upstream Shortlog
-----------------

Brad King (4):
      a42b7759 clang-format.bash: update to clang-format-18
      6da5c6ac Empty commit at end of history preceding clang-format-18 style transition
      a234f2ff clang-format: Enforce "east const" qualifier placement
      ac2b3378 Empty commit at end of history preceding clang-format "east const" transition

Kitware Robot (2):
      7a19509c Revise C++ coding style using clang-format-18
      7dec9555 Revise C++ coding style using clang-format with "east const"

Nikita Nemkin (1):
      4a126278 clang-format.bash: Preserve CRLF line endings on Windows
2025-01-24 09:55:57 -05:00

80 lines
3.2 KiB
ReStructuredText

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
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.
.. _`Kitware`: https://www.kitware.com/cmake
.. _`CMake Forum`: https://discourse.cmake.org
Patches
=======
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
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.
.. _`CMake CDash Page`: https://open.cdash.org/index.php?project=CMake
.. _`CMake Integration Testing`: Help/dev/integration-testing.rst
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.
.. _`Copyright.txt`: Copyright.txt