CONTRIBUTING.rst 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. Contributing to CMake
  2. *********************
  3. The following summarizes the process for contributing changes.
  4. See documentation on `CMake Development`_ for more information.
  5. .. _`CMake Development`: Help/dev/README.rst
  6. Community
  7. =========
  8. CMake is maintained and supported by `Kitware`_ and developed in
  9. collaboration with a productive community of contributors.
  10. Please subscribe and post to the `CMake Developers List`_ to raise
  11. discussion of development topics.
  12. .. _`Kitware`: http://www.kitware.com/cmake
  13. .. _`CMake Developers List`: https://cmake.org/mailman/listinfo/cmake-developers
  14. Patches
  15. =======
  16. CMake uses `Kitware's GitLab Instance`_ to manage development and code review.
  17. To contribute patches:
  18. #. Fork the upstream `CMake Repository`_ into a personal account.
  19. #. Run `Utilities/SetupForDevelopment.sh`_ for local configuration.
  20. #. Base all new work on the upstream ``master`` branch.
  21. #. Create commits making incremental, distinct, logically complete changes.
  22. #. Push a topic branch to a personal repository fork on GitLab.
  23. #. Create a GitLab Merge Request targeting the upstream ``master`` branch.
  24. The merge request will enter the `CMake Review Process`_ for consideration.
  25. .. _`Kitware's GitLab Instance`: https://gitlab.kitware.com
  26. .. _`CMake Repository`: https://gitlab.kitware.com/cmake/cmake
  27. .. _`Utilities/SetupForDevelopment.sh`: Utilities/SetupForDevelopment.sh
  28. .. _`CMake Review Process`: Help/dev/review.rst
  29. Code Style
  30. ==========
  31. We use `clang-format`_ to define our style for C++ code in the CMake source
  32. tree. See the `.clang-format`_ configuration file for our style settings.
  33. Use ``clang-format`` version 3.8 or higher to format source files.
  34. See also the `Utilities/Scripts/clang-format.bash`_ script.
  35. .. _`clang-format`: http://clang.llvm.org/docs/ClangFormat.html
  36. .. _`.clang-format`: .clang-format
  37. .. _`Utilities/Scripts/clang-format.bash`: Utilities/Scripts/clang-format.bash
  38. License
  39. =======
  40. We do not require any formal copyright assignment or contributor license
  41. agreement. Any contributions intentionally sent upstream are presumed
  42. to be offered under terms of the OSI-approved BSD 3-clause License.
  43. See `Copyright.txt`_ for details.
  44. .. _`Copyright.txt`: Copyright.txt