CMake-3.15.2

#### Beyond Linux® From Scratch (systemd Edition) - Version 9.0

### Chapter 13. Programming

- Prev

  Clisp-2.49

- Next

  DejaGnu-1.6.2

- Up
- Home

# CMake-3.15.2

## 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.15/cmake-3.15.2.tar.gz

- Download MD5 sum: 9ecf167edadb87e2d75cc89fded7aadb

- Download size: 8.8 MB

- Estimated disk space required: 393 MB (add 494 MB for tests)

- Estimated build time: 2.7 SBU (add 3.4 SBU for tests, both using parallelism=4)

### CMake Dependencies

#### Required

libuv-1.31.0

#### Recommended

cURL-7.65.3 and libarchive-3.4.0

#### Optional

Qt-5.13.0 (for the Qt-based GUI), Subversion-1.12.2 (for testing), and Sphinx (for building documents)

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.15.2 &&
    make

To test the results, issue: bin/ctest -j`<N>` -O cmake-3.15.2-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. One test, RunCMake.CommandLineTar, is known to fail.

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.15 and /usr/share/doc/cmake-3.15.2

### 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-08-16 15:28:01 -0700

- Prev

  Clisp-2.49

- Next

  DejaGnu-1.6.2

- Up
- Home