You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Timo Röhling 3698acc303
New upstream version 3.29.2
10 months ago
..
WiX New upstream version 3.29.2 10 months ago
linux New upstream version 3.28.0 1 year ago
macos New upstream version 3.24.0 3 years ago
win New upstream version 3.28.0 1 year ago
CMakeInstall.bmp Import cmake 2.8.0-r2 16 years ago
CMakeLogo.ico New upstream version 3.13.0~rc2 6 years ago
README.rst New upstream version 3.24.0 3 years ago
consolidate-relnotes.bash New upstream version 3.9.0 8 years ago
files-sign.bash New upstream version 3.21.2 3 years ago
files-v1.json.in New upstream version 3.24.0 3 years ago
files-v1.rst New upstream version 3.24.0 3 years ago
files.bash New upstream version 3.21.2 3 years ago
push.bash New upstream version 3.18.2 4 years ago

README.rst

CMake Release Utilities
***********************

This directory contains scripts used to package CMake itself for distribution
on ``cmake.org``. See also the `CMake Source Code Guide`_.

.. _`CMake Source Code Guide`: ../../Help/dev/source.rst

File Table
----------

The set of package files distributed on ``cmake.org`` varies by CMake version.
Clients providing automatic download functionality may query the set of
package files available using a special file that lists them:

* `File Table v1`_ Documentation

.. _`File Table v1`: files-v1.rst

Docker
------

The ``//`` directories contain Docker specifications that anyone
may use to produce binaries for CMake on the following platforms:

* ``linux/x86_64/``: Linux on ``x86_64`` architectures.
* ``linux/aarch64/``: Linux on ``aarch64`` architectures.

Each ``//`` directory contains the following:

* ``//base/Dockerfile``:
Produces a base image with a build environment for portable CMake binaries.
This image is published in the `kitware/cmake Docker Hub Repository`_
with tag ``build---base-``.

* ``//deps/Dockerfile``:
Produces an image with custom-built dependencies for portable CMake binaries.
This image is published in the `kitware/cmake Docker Hub Repository`_
with tag ``build---deps-``.

* ``//Dockerfile``:
Produce an image containing a portable CMake binary package.
Build this image using the CMake source directory as the build context.
The resulting image will have an ``/out`` directory
containing the package. For example, on Linux ``x86_64``:

.. code-block:: console

$ docker build --tag=cmake:build --network none \
-f cmake-src/Utilities/Release/linux/x86_64/Dockerfile cmake-src
$ docker container create --name cmake-build cmake:build
$ docker cp cmake-build:/out .
$ ls out/cmake-*-linux-x86_64.*

* ``//test/Dockerfile``:
Produces a base image with a test environment for packaged CMake binaries.
For example, on Linux ``x86_64``, one may build the test base image:

.. code-block:: console

$ docker build --tag=cmake:test-base \
cmake-src/Utilities/Release/linux/x86_64/test

Then create a local ``test/Dockerfile`` to prepare an image with both the
CMake source tree and the above-built package::

FROM cmake:test-base
COPY cmake-src /opt/cmake/src/cmake
ADD out/cmake--linux-x86_64.tar.gz /opt/
ENV PATH=/opt/cmake--linux-x86_64/bin:$PATH

Build the test image and run it to drive testing:

.. code-block:: console

$ docker build --tag cmake:test --network none -f test/Dockerfile .
$ docker run --network none cmake:test bash test-make.bash
$ docker run --network none cmake:test bash test-ninja.bash

.. _`kitware/cmake Docker Hub Repository`: https://hub.docker.com/r/kitware/cmake

macOS
-----

The ``macos/`` directory contains scripts used to produce dependencies
for building CMake binaries on macOS.

Windows
-------

The ``win/`` directory contains scripts used to produce dependencies
for building CMake binaries on Windows.