mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-09-25 04:09:36 +03:00
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
74 lines
2.0 KiB
Plaintext
74 lines
2.0 KiB
Plaintext
.git* export-ignore
|
|
.hooks* export-ignore
|
|
.clang-format export-ignore
|
|
.clang-tidy export-ignore
|
|
.codespellrc export-ignore
|
|
.devcontainer export-ignore
|
|
.editorconfig export-ignore
|
|
.pre-commit-config.yaml export-ignore
|
|
.typos.toml export-ignore
|
|
sgconfig.yml export-ignore
|
|
|
|
# Custom attribute to mark sources as using our C code style.
|
|
[attr]our-c-style whitespace=tab-in-indent format.clang-format=18
|
|
|
|
# Custom attribute to mark sources as generated.
|
|
# Do not perform whitespace checks. Do not format.
|
|
[attr]generated whitespace=-tab-in-indent,-indent-with-non-tab -format.clang-format
|
|
|
|
# Custom attribute to mark files as TABs indented.
|
|
[attr]tab-indent whitespace=-tab-in-indent
|
|
|
|
bootstrap eol=lf
|
|
configure eol=lf
|
|
*.[1-9] eol=lf
|
|
*.bash eol=lf
|
|
*.sh eol=lf
|
|
*.sh.in eol=lf
|
|
|
|
*.bat eol=crlf
|
|
*.bat.in eol=crlf
|
|
*.cmd eol=crlf
|
|
*.sln eol=crlf
|
|
*.vcproj eol=crlf
|
|
|
|
Makefile tab-indent
|
|
Makefile.in tab-indent
|
|
NSIS.template.in tab-indent
|
|
coverage.xml.in tab-indent
|
|
*.F tab-indent
|
|
*.f tab-indent
|
|
*.pbxproj.in tab-indent
|
|
*.plist.in tab-indent
|
|
*.plist tab-indent
|
|
*.sln tab-indent
|
|
*.s tab-indent
|
|
*.vcproj tab-indent
|
|
*.vcproj.in tab-indent
|
|
*.vfproj.in tab-indent
|
|
*.xib tab-indent
|
|
*.make tab-indent
|
|
.hooks-config tab-indent
|
|
|
|
*.pfx -text
|
|
*.png -text
|
|
*.png.in -text
|
|
|
|
*.c our-c-style
|
|
*.cc our-c-style
|
|
*.cpp our-c-style
|
|
*.cu our-c-style
|
|
*.cxx our-c-style
|
|
*.H our-c-style
|
|
*.h our-c-style
|
|
*.hh our-c-style
|
|
*.hip our-c-style
|
|
*.hpp our-c-style
|
|
*.hxx our-c-style
|
|
*.notcu our-c-style
|
|
*.tcc our-c-style
|
|
|
|
*.cmake whitespace=tab-in-indent
|
|
*.rst whitespace=tab-in-indent conflict-marker-size=79
|
|
*.txt whitespace=tab-in-indent
|