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 利用時)
cURL-8.5.0, libarchive-3.7.2, libuv-1.47.0, nghttp2-1.58.0
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 をビルドします。
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
:
本スイッチは、システムにインストール済の Zlib、Bzip2、cURL、nghttp2、Expat, 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
: 本スイッチは CMake の Qt-ベースの GUI プログラムを生成することを指示します。
--parallel=
: This switch enables
performing the CMake bootstrap
with multiple jobs at one time.