The following summarizes the process for contributing changes. See documentation on CMake Development for more information.
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.
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 configuration.
- See the CMake Source Code Guide for coding guidelines.
- Base all new work on the upstream
master
branch. Base work on the upstreamrelease
branch only if it fixes a regression or bug in a feature new to that release. If in doubt, prefermaster
. 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 a 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 therelease
branch).
The merge request will enter the CMake Review Process for consideration.
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.