CMake-3.16.0

Introduction to CMake

The CMake package contains a modern toolset used for generating Makefiles. It is a successor of the auto-generated configure script and aims to be platform- and compiler-independent. A significant user of CMake is KDE since version 4.

This package is known to build and work properly using an LFS-9.0 platform.

Package Information

  • Download (HTTP): https://cmake.org/files/v3.16/cmake-3.16.0.tar.gz

  • Download MD5 sum: a38cb4d547ca79f8a1b8211be41790b1

  • Download size: 8.7 MB

  • Estimated disk space required: 443 MB (add 538 MB for tests)

  • Estimated build time: 2.8 SBU (add 3.9 SBU for tests, both using parallelism=4)

CMake Dependencies

Required

libuv-1.34.0

Recommended

Optional

Qt-5.13.2 (for the Qt-based GUI), Subversion-1.13.0 (for testing), Sphinx (for building documents), and zstd (for testing)

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/cmake

Installation of CMake

Install CMake by running the following commands:

sed -i '/"lib64"/s/64//' Modules/GNUInstallDirs.cmake &&

./bootstrap --prefix=/usr        \
            --system-libs        \
            --mandir=/share/man  \
            --no-system-jsoncpp  \
            --no-system-librhash \
            --docdir=/share/doc/cmake-3.16.0 &&
make

To test the results, issue: bin/ctest -j<N> -O cmake-3.16.0-test.log, where <N> is an integer between 1 and the number of system cores. In case the environment variable LANG is set to a non-blank value and failures occur, try running the tests without having LANG set. The test RunCMake.CommandLineTar is known to fail if the zstd package is not installed.

Now, as the root user:

make install

Command Explanations

sed ... Modules/GNUInstallDirs.cmake: This command disables applications using cmake from attempting to install files in /usr/lib64/.

--system-libs: This switch forces the build system to link against Zlib, Bzip2, cURL, Expat and libarchive installed on the system.

--no-system-jsoncpp: This switch removes the JSON-C++ library from the list of system libraries. A bundled version of that library is used instead.

--qt-gui: This switch enables building of the Qt-based GUI for CMake.

Contents

Installed Programs: ccmake, cmake, cmake-gui (optional), cpack, and ctest
Installed Libraries: None
Installed Directories: /usr/share/cmake-3.16 and /usr/share/doc/cmake-3.16.0

Short Descriptions

ccmake

is a curses based interactive frontend to cmake.

cmake

is the makefile generator.

cmake-gui

(optional) is the Qt-based frontent to cmake.

cpack

is the CMake packaging program.

ctest

is a testing utility for cmake-generated build trees.

Last updated on 2019-11-29 16:56:16 -0600