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 12.0 platform.
Download (HTTP): https://cmake.org/files/v3.27/cmake-3.27.2.tar.gz
Download MD5 sum: 07786cd23c3d0aa9c2fef69efb13662b
Download size: 10 MB
Estimated disk space required: 424 MB (add 1.2 GB for tests)
Estimated build time: 2.0 SBU (add 3.2 SBU for tests, both using parallelism=4)
cURL-8.2.1, libarchive-3.7.1, libuv-1.46.0, and nghttp2-1.55.1
GCC-13.2.0 (for gfortran), git-2.41.0 (for use during tests), Mercurial-6.5.1 (for use during tests), (Qt-5.15.10 or qt-alternate-5.15.10) (for the Qt-based GUI), sphinx-7.1.2 (for building documents), Subversion-1.14.2 (for testing), cppdap, jsoncpp, and rhash
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 \
            --docdir=/share/doc/cmake-3.27.2 &&
make
        
          To test the results, issue: LC_ALL=en_US.UTF-8 bin/ctest -j<N> -O
          cmake-3.27.2-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.
        
          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
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 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.