Version 3.19.2-2 is a maintenance release of the xPack CMake package, fixing the spawning of cmd.exe scripts on Windows.

The xPack CMake is the xPack distribution of the CMake build system.

There are separate binaries for Windows (Intel 32/64-bit), macOS (Intel 64-bit) and GNU/Linux (Intel 32/64-bit, Arm 32/64-bit).

Download

The binary files are available from GitHub releases.

Install

The full details of installing the xPack CMake on various platforms are presented in the separate Install page.

Easy install

The easiest way to install CMake is with xpm by using the binary xPack, available as @xpack-dev-tools/cmake from the npmjs.com registry.

To install the latest version available, use:

$ xpm install --global @xpack-dev-tools/cmake@latest

To install this specific version, use:

$ xpm install --global @xpack-dev-tools/cmake@3.19.2-2.1

Compliance

The xPack CMake is based on the official CMake.

The current version is based on:

  • CMake release 3.19.2 from Dec 16th, 2020.

Changes

Compared to the upstream version, the Windows version also supports spawning scripts via cmd.exe /c. These scripts are used by npm/xpm to redirect invocations to the global xPacks store.

Bug fixes

  • none

Enhancements

  • none

Known problems

  • none

Shared libraries

On all platforms the packages are standalone, and expect only the standard runtime to be present on the host.

All dependencies that are build as shared libraries are copied locally in the same folder as the executable.

DT_RPATH and LD_LIBRARY_PATH

On GNU/Linux the binaries are adjusted to use a relative path:

$ readelf -d library.so | grep runpath
 0x000000000000001d (RPATH)            Library rpath: [$ORIGIN]

In the GNU ld.so search strategy, the DT_RPATH has the highest priority, higher than LD_LIBRARY_PATH, so if this later one is set in the environment, it should not interfere with the xPack binaries.

@executable_path

Similarly, on macOS, the dynamic libraries are adjusted with otool to use a relative path.

Documentation

The current version specific CMake documentation is available in each packet:

  • doc/cmake-X.Y/html/index.html

and online from:

Supported platforms

Binaries for Windows, macOS and GNU/Linux are provided.

The binaries were built using the xPack Build Box (XBB), a set of build environments based on slightly older distributions, that should be compatible with most recent systems.

  • Intel GNU/Linux: all binaries were built with GCC 9.3, running in an Ubuntu 12 Docker container
  • Arm GNU/Linux: all binaries were built with GCC 9.3, running in an Ubuntu 16 Docker container (added in mid-2020)
  • Windows: all binaries were built with mingw-w64 GCC 9.3, running in an Ubuntu 12 Docker container
  • macOS: all binaries were built with GCC 9.3, running in a separate folder on macOS 10.10.5.

Build

The scripts used to build this distribution are in:

  • distro-info/scripts

For the prerequisites and more details on the build procedure, please see the How to build page.

Travis tests

The first set of tests were performed on Travis, by running a simple script to check if the binaries start on a wide range of platforms and distributions:

Tests

TBD

Checksums

The SHA-256 hashes for the files are:

1327ee08eec7e09e79e5f7a5f5a29f3bfb8639987bb147887f52627d510943b4
xpack-cmake-3.19.2-2-darwin-x64.tar.gz

1fcb3c2733a955cca4ea45cc32fadabb4f74b02acbb2e6150d97d9aa00e4e307
xpack-cmake-3.19.2-2-linux-arm64.tar.gz

12bb352b4222a4c93b7085159de46415bd09853ffdc5089113687e10a37fa48e
xpack-cmake-3.19.2-2-linux-arm.tar.gz

149cc2b100fd84ec556ee26ed7ec0810540f75eea0595eeae518721e449c896d
xpack-cmake-3.19.2-2-linux-ia32.tar.gz

056809b71f26ed1b9261a0a09d4d6348d2328d0af8be2e23ee00eb34fc012e23
xpack-cmake-3.19.2-2-linux-x64.tar.gz

e363cbb04577864ab69260ec7cc5af8ac08f38640d60a90d8419bacb2a2d6e70
xpack-cmake-3.19.2-2-win32-ia32.zip

27a6e0e40be3b4beb354f1d1901ad02e433442955eafef273755929287b94569
xpack-cmake-3.19.2-2-win32-x64.zip

Download analytics

Credit to Shields IO for the badges and to Somsubhra/github-release-stats for the individual file counters.