CMake-3.28.1

CMake の概要

CMake パッケージは Makefile を生成するための最新のツールセットを提供します。 これは自動生成される configure スクリプトに続けて利用します。 こうすることでプラットフォームやコンパイラーには依存しないスクリプトを生成します。 CMake を活用している代表例が、バージョン 4 以降の KDE です。

[注記]

注記

LFS や依存パッケージが本ブックに示す最新安定バージョンでなかった場合には、BLFS 開発版においては、パッケージのビルドや処理実行が適切に行われないことがあります。

パッケージ情報

  • ダウンロード (HTTP): https://cmake.org/files/v3.28/cmake-3.28.1.tar.gz

  • ダウンロード MD5 sum: db659ed92a8fcc880f95b492bde2eb44

  • ダウンロードサイズ: 11 MB

  • 必要ディスク容量: 427 MB(テスト実行時は 1.2 GB)

  • 概算ビルド時間: 2.2 SBU(テスト実行時は 3.9 SBU, いずれも parallelism=4 利用時)

CMake の依存パッケージ

推奨

任意

GCC-13.2.0 (for gfortran), git-2.43.0 (for use during tests), Mercurial-6.6.1 (for use during tests), OpenJDK-21.0.1 (for use during tests), (Qt-5.15.11 または qt-alternate-5.15.11) or Qt-6.6.1 (for the Qt-based GUI), sphinx-7.2.6 (for building documents), Subversion-1.14.2 (for testing), cppdap, jsoncpp, rhash

CMake のインストール

以下のコマンドを実行して CMake をビルドします。

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.1 &&
make

ビルド結果をテストする場合は LC_ALL=en_US.UTF-8 bin/ctest -j<N> -O cmake-3.28.1-test.log を実行します。 ここで <N> は 1 からシステムコア数までの値を選んで指定します。 テストがいくつか失敗するため LC_ALL の設定が必要となります。 ロケール変数が英語以外のロケールに設定される場合があるためです。

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.

root ユーザーになって以下を実行します。

make install

コマンド説明

sed ... Modules/GNUInstallDirs.cmake: This command disables applications using cmake from attempting to install files in /usr/lib64/.

--system-libs: 本スイッチは、システムにインストール済の ZlibBzip2cURLnghttp2Expat, libarchive をリンクすることを指示します。

--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: 本スイッチは CMakeQt-ベースの GUI プログラムを生成することを指示します。

--parallel=: This switch enables performing the CMake bootstrap with multiple jobs at one time.

パッケージ構成

インストールプログラム: ccmake, cmake, cmake-gui (任意ビルド), cpack, ctest
インストールライブラリ: なし
インストールディレクトリ: /usr/share/cmake-3.28, /usr/share/doc/cmake-3.28.1

概略説明

ccmake

cmake に対しての curses ベースの対話フロントエンドです。

cmake

Makefile 生成ツールです。

cmake-gui

(任意ビルド) cmakeQt-ベースのフロントエンドです。

cpack

CMake のパッケージングプログラムです。

ctest

cmake により生成されたディレクトリツリーをテストするユーティリティーです。