CMake-4.1.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.

Package Information

  • Download (HTTP): https://cmake.org/files/v4.1/cmake-4.1.3.tar.gz

  • Download SHA256 Sum: 765879a53d178bf1e1509768de4c9a672dabaa20047a9f3809571558e783be88

  • Download MD5 sum: cf1d0fa7f9e88afaddf379a7b1ce65f0

  • Download size: 11 MB

  • Estimated disk space required: 490 MB (add 1.4 GB for tests)

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

CMake Dependencies

Recommended

Optional

the section called “GCC-15.2.0” rebuilt for gfortran", git-2.52.0 (for use during tests), "mercurial" (for use during tests), "openjdk" (for use during tests), "Qt6" (for the Qt-based GUI), "sphinx" (for building documents), "subversion" (for testing), cppdap, jsoncpp, and rhash

Installation of CMake

Prepare CMake by running the following commands:

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

Now configure, issue:

./bootstrap --prefix=/usr        \
            --system-libs        \
            --mandir=/share/man  \
            --no-system-jsoncpp  \
            --no-system-cppdap   \
            --no-system-librhash \
            --no-system-nghttp2  \
            --docdir=/share/doc/cmake-4.1.3

Now build, issue:

make

Replace $(nproc) with an integer between 1 and the number of system logical cores if you don't want to use all. To test the results, issue:

bin/ctest -j$(nproc)

If you want to investigate a problem with a given "problem1-test", use bin/ctest -R "problem1-test" and, to omit it, use bin/ctest -E "problem1-test". These options can be used together: bin/ctest -R "problem1-test" -E "problem2-test". Option -N can be used to display all available tests, and you can run bin/ctest for a sub-set of tests by using separated by spaces names or numbers as options. Option --help can be used to show all options.

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-{curl,libarchive,libuv,nghttp2}: Use the corresponding option in the list for the bootstrap if one of the recommended dependencies is not installed. A bundled version of the dependency will be used instead.

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

--parallel=: This switch enables performing the CMake bootstrap with multiple jobs at one time. It's not needed if the MAKEFLAGS variable has been already set for using multiple processors following 'parallel-builds'.

Contents

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

Short Descriptions

ccmake

is a curses based interactive frontend to cmake

cmake

is the makefile generator

cmake-gui

(optional) is the Qt-based frontend to cmake

cpack

is the CMake packaging program

ctest

is a testing utility for cmake-generated build trees