CMake-4.2.3

#### Gaming Linux® From Scratch - Version 13.0

### Chapter 6. Tooling

- Prev

  Tooling

- Next

  LLVM-21.1.8

- Up
- Home

# CMake-4.2.3

## 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.

### Note

This may take a while to build. Feel free to do something else while this is building.

- Download: https://cmake.org/files/v4.2/cmake-4.2.3.tar.gz

### CMake Dependencies

Recommended
cURL-8.18.0
Optional
libarchive, libuv, and nghttp2

## 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-cppdap     \
                --no-system-librhash   \
                --no-system-libarchive \
                --no-system-libuv      \
                --no-system-nghttp2    \
                --docdir=/share/doc/cmake-4.2.3 &&

    make

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 the system installed version for all needed libraries but those explicitly specified via a `--no-system-*` option.

`--no-system-jsoncpp` and `--no-system-cppdap`: These switches remove the JSON-C++ library from the list of system libraries. A bundled version of that library is used instead.

`--no-system-librhash`: This switch removes the librhash library from the list of system libraries used. A bundled version of that library is used instead.

`--no-system-{libarchive,libuv,nghttp2}`: These switches do the same thing as above but for those packages listed in these parameters. They are not installed currently.

`--parallel=`: This switch enables performing the CMake bootstrap with multiple jobs at one time.

## Contents

Installed Programs: ccmake, cmake, cpack, and ctest
Installed Libraries: None
Installed Directories: /usr/share/cmake-4.2 and /usr/share/doc/cmake-4.2.3

### Short Descriptions

ccmake | is a curses based interactive frontend to cmake
cmake | is the makefile generator
cpack | is the CMake packaging program
ctest | is a testing utility for cmake-generated build trees

- Prev

  Tooling

- Next

  LLVM-21.1.8

- Up
- Home