mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-09-25 04:09:36 +03:00
Provide `clang` for developers who prefer to build with it rather than with the default `g++`, and `valgrind` to run CMake and its tests under a memory checker. The sanitizer runtimes already come with both compilers, so building with `-fsanitize=` needs nothing installed. Name `gfortran` as well, without which Clang cannot link at all. Ubuntu 26.04 carries a Fortran-only `gcc-16` build that provides no C++ standard library, `libopenmpi-dev` lists `gfortran-16` first among the alternatives it accepts, and Clang selects the newest GCC installation it finds. Naming `gfortran` lets `apt` satisfy that dependency with `gfortran-15` instead, so the GCC 16 installation never appears. Suggested-by: Tyler Yankee <tyler.yankee@kitware.com>
CMake Development ***************** This directory contains documentation about development of CMake itself. It is not part of the user documentation distributed with CMake. Contributor Instructions ======================== See `CONTRIBUTING.rst`_ for instructions to contribute changes. The process for contributing changes is the same whether or not one has been invited to participate directly in upstream development. .. _`CONTRIBUTING.rst`: ../../CONTRIBUTING.rst Upstream Development ==================== CMake uses `Kitware's GitLab Instance`_ to manage development, review, and integration of changes. The `CMake Repository`_ holds the integration branches and tags. Upstream development processes are covered by the following documents: * The `CMake Review Process`_ manages integration of changes. * The `CMake Integration Testing`_ infrastructure tests changes before and after merging. .. _`Kitware's GitLab Instance`: https://gitlab.kitware.com .. _`CMake Repository`: https://gitlab.kitware.com/cmake/cmake .. _`CMake Review Process`: review.rst .. _`CMake Integration Testing`: integration-testing.rst Developer Documentation ======================= CMake developer documentation is provided by the following documents: * The `CMake Dev Container Guide`_. * The `CMake Source Code Guide`_. * The `CMake Documentation Guide`_. * The `CMake Testing Guide`_. * The `CMake Experimental Features Guide`_. * The `CMake Debugging Guide`_. * The `CMake Diagnostics Guide`_. .. _`CMake Dev Container Guide`: devcontainer.rst .. _`CMake Source Code Guide`: source.rst .. _`CMake Documentation Guide`: documentation.rst .. _`CMake Testing Guide`: testing.rst .. _`CMake Experimental Features Guide`: experimental.rst .. _`CMake Debugging Guide`: debug.rst .. _`CMake Diagnostics Guide`: diagnostics.rst Maintainer Documentation ======================== CMake maintainer documentation is provided by the following documents: * The `CMake Maintainer Guide`_. .. _`CMake Maintainer Guide`: maint.rst