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-7.10 platform.

Package Information

  • Download (HTTP):

  • Download MD5 sum: 79bd7e65cd81ea3aa2619484ad6ff25a

  • Download size: 7.0 MB

  • Estimated disk space required: 293 MB (add 341 MB for tests)

  • Estimated build time: 2.6 SBU (add 8.2 SBU for tests)

CMake Dependencies



Qt-5.7.1 (for the Qt-based GUI), Subversion-1.9.5 (for testing), libuv, and Sphinx (for building documents)

User Notes:

Installation of CMake

Install CMake by running the following commands:

sed -i '/CMAKE_USE_LIBUV 1/s/1/0/' CMakeLists.txt     &&
sed -i '/"lib64"/s/64//' Modules/GNUInstallDirs.cmake &&

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

To test the results, issue: bin/ctest -j<N> -O cmake-3.7.2-test.log, where <N> is an integer between 1 and the number of system cores.

Now, as the root user:

make install

Command Explanations

sed ... CMakeLists.txt: This command disables the attempt to use the external libuv library.

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.


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

Short Descriptions


is a curses based interactive frontend to cmake.


is the makefile generator.


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


is the CMake packaging program.


is a testing utility for cmake-generated build trees.

Last updated on 2017-01-17 13:35:46 -0600