13 Commits
Author SHA1 Message Date
Taylor Braun-Jones d326c8afd5 devcontainer: Add a Dev Container definition for CMake development
Provide a `.devcontainer` definition, following the Dev Container
Specification, to give contributors a ready-made Linux environment with
the tools needed to build CMake, run its test suite, build its
documentation, and satisfy its style rules.

Base the container on Ubuntu, which offers the broadest ecosystem of
packages and tooling for development, including a recent `cmake` and the
`clang-format` version our style rules require, exactly.  Mirror the
package lists of the Debian image our CI infrastructure uses, section by
section, so that the dependencies available closely match the ones
against which merge requests are tested.  Build the image the way the
images under `.gitlab/ci/docker/` are built: bind mount the package
lists and the installation script rather than copying them in, and cache
the package lists and downloaded archives so that a rebuild fetches only
what has changed.

Run optional `.devcontainer/hooks/root.sh` and
`.devcontainer/hooks/user.sh` scripts, both ignored by Git, so that
developers may customize the container without modifying tracked files.

Document usage in a new `Help/dev/devcontainer.rst`.

Fixes: #28043
2026-09-08 16:23:33 +00:00
Matthew Woehlke 3cccce8ca2 Help: Add developer documentation for new diagnostics
Add a developer-targeted document explaining the basics of how to use
CMake 4.4's new diagnostic framework.
2026-04-30 15:36:23 -04:00
Taylor Sasser 9d93853405 Help: Add documentation for debugging with GDB 2025-08-14 10:44:18 -04:00
Brad King 8a688e556e Help/dev: Add a CMake Testing Guide
Document how developers working on CMake itself may run the test suite
locally.

Fixes: #26001
2024-06-05 12:58:47 -04:00
Brad King 7cc124d4b5 Help/dev: Move integration testing to a more-specific document
Avoid breaking existing links to `Help/dev/testing.rst` by keeping
the document with minimal text to direct readers to the new one.
2024-06-05 12:58:47 -04:00
Brad King d231d92289 Help/dev: Add a CMake Experimental Features Guide
Initialize it with placeholder content.  This document will serve to
contain documentation for experimental features that are under
development and not yet included in official documentation.
2020-11-24 16:29:34 -05:00
Brad King a82282a08c Help/dev: Factor out a CMake Documentation Guide for developing the docs
Remove this content from the `cmake-developer(7)` manual because it
is relevant only to developers working on CMake itself.  Move it to
a guide in the developer documentation.
2018-11-14 14:38:13 -05:00
Brad King 4e52809edf Help/dev: Add a CMake Maintainer Guide document
Initialize it with placeholder content.  This document will serve to
contain instructions for CMake maintenance processes.
2017-06-02 14:24:47 -04:00
Brad King 540b4cdc2b Help/dev: Add a CMake Source Code Guide placeholder
Create a dedicated document to cover the CMake source code for
developers.
2017-04-19 16:18:26 -04:00
Brad King 2927e437e0 Help/dev: Document the CMake Testing Process 2017-03-07 11:05:57 -05:00
Brad King b55e19dd1f Help/dev: Revise README to have a bullet list of available documents 2017-03-07 10:40:56 -05:00
Brad King 9360e6c6a0 Help/dev: Document the CMake Review Process 2017-03-03 11:47:36 -05:00
Brad King d33de80c8a Help/dev: Exclude this directory from user-facing documentation
Teach Sphinx and our own install rules to skip a `Help/dev` directory.
This will give us a place to put developer-only documentation that
should not be included in the user-facing documentation.  Add a
placeholder README.
2017-03-01 16:05:55 -05:00