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-10.1 platform.
Download (HTTP): https://cmake.org/files/v3.20/cmake-3.20.1.tar.gz
Download MD5 sum: b47fa0be657ae8715c695fd9ea979ce9
Download size: 9.0 MB
Estimated disk space required: 376 MB (add 901 MB for tests)
Estimated build time: 2.0 SBU (add 3.2 SBU for tests, both using parallelism=4)
cURL-7.76.0, libarchive-3.5.1, and nghttp2-1.43.0
GCC-10.2.0 (for gfortran), git-2.31.1 (for use during tests), Mercurial-5.7.1 (for use during tests), Qt-5.15.2 (for the Qt-based GUI), Subversion-1.14.1 (for testing), rhash, and Sphinx (for building documents)
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/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.20.1 && make
To test the results, issue: LC_ALL=en_US.UTF-8 bin/ctest -j<N>
-O
cmake-3.20.1-test.log, where <N>
is an integer between 1
and the number of system cores. Setting LC_ALL
is needed to prevent some test failures when
some of the locale variables are set to non English locales.
Now, as the root
user:
make install
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, nghttp2, 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.
--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.
--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.
Last updated on 2021-04-11 08:41:21 -0500