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.1 platform.
Download (HTTP): https://cmake.org/files/v3.28/cmake-3.28.3.tar.gz
Download MD5 sum: 6b16c82b81e1fd80b63bee9696846b21
Download size: 11 MB
Estimated disk space required: 435 MB (add 1.2 GB for tests)
Estimated build time: 2.2 SBU (add 3.9 SBU for tests, both using parallelism=4)
cURL-8.6.0, libarchive-3.7.2, libuv-1.48.0, and nghttp2-1.59.0
GCC-13.2.0 (for gfortran), git-2.44.0 (for use during tests), Mercurial-6.6.3 (for use during tests), OpenJDK-21.0.2 (for use during tests), (Qt-5.15.12 or qt-alternate-5.15.12) or Qt-6.6.2 (for the Qt-based GUI), sphinx-7.2.6 (for building documents), Subversion-1.14.3 (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.28.3 &&
make
        
          To test the results, issue: LC_ALL=en_US.UTF-8 bin/ctest -j<N> -O
          cmake-3.28.3-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 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.