CMake 最新版のソースコードからのインストール (Ubuntu
【概要】UbuntuでCMakeの安定版をソースからビルド・インストールし、最新機能を実現する。依存関係解決、バージョン選定、ビルド手順、インストール後の確認を扱う。APT版より新しいバージョンが必要な場合に有用である。
前準備
ソースコードからソフトウェアをビルドする前には、システムの基本的な準備を行う必要がある。
Ubuntu のシステム更新
Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する。これは、パッケージ情報を最新の状態に保ち、インストール済みのパッケージをセキュリティアップデートやバグ修正を含めて更新するためである。
# パッケージリストの情報を更新
sudo apt update
# インストール済みのパッケージを包括的に更新 (依存関係も考慮)
sudo apt full-upgrade
# カーネル更新等で実際に再起動が必要な場合のみ実行を推奨
# sudo shutdown -r now
C/C++ コンパイラと Make とビルドツールのインストール
ソフトウェアをソースコードからビルドするには、C/C++コンパイラ (通常はGCC) や make
ユーティリティといった開発ツールが重要である。Ubuntuでは、これらのツールは build-essential
パッケージにまとめられている。インストールするには,端末で,次のコマンドを実行する。
sudo apt -y install build-essential gcc g++ make libtool texinfo dpkg-dev pkg-config
libtool
, texinfo
, dpkg-dev
, pkg-config
は、より複雑なビルドやパッケージ管理の際に役立つ開発関連ツールである。
Git のインストール
ソースコードはGitHub上で管理されている。これを取得するにはバージョン管理システムであるGitを使用する. Gitをインストールするには, 端末で,次のコマンドを実行する。
sudo apt -y install git
CMake のソースコードからのビルドとインストール
Ubuntu 24.04 LTSの公式APTリポジトリやKitwareが提供するAPTリポジトリからもCMakeはインストール可能であるが、それらで提供されるバージョンがプロジェクトの要求する特定の最新機能やバグ修正を含んでいない場合がある。そのような状況では、ソースコードから直接、任意の安定版をビルドしインストールすることが有効な手段となる。例えば、CMake 3.29以降で追加された新しいリンカータイプの選択機能や、CMake 4.0で導入されたリンク行上のライブラリ重複排除(CMP0156ポリシー)などを利用したい場合がこれに該当する。
端末で,以下のコマンドを順に実行する。
sudo apt -y install zlib1g-dev libcurl4-gnutls-dev
cd /tmp
git clone https://github.com/Kitware/CMake.git
cd CMake
git checkout v4.0.2 # ここは適宜、必要なバージョンに変更する
./bootstrap --system-curl --system-zlib
make -j4
sudo make install
補足事項:
- バージョン選定:
git checkout
で指定するバージョンは、CMakeの公式リリースタグページを定期的に確認し、プロジェクトの要件や互換性を考慮して最新の安定版を選択することが推奨される。 - インストール先のカスタマイズ:
./bootstrap
スクリプト実行時に--prefix=/path/to/custom/install
オプションを用いることで、CMakeのインストール先ディレクトリを標準の/usr/local
以外(例:/opt/cmake-4.0.2
やユーザーのホームディレクトリ配下の$HOME/.local
など)に変更できる。 - アンインストール: ソースから
make install
でインストールした場合、一般的にはビルドディレクトリ (上記例では/tmp/CMake
) に戻り、sudo make uninstall
を実行することでアンインストールが可能であるが、このuninstall
ターゲットがCMakeのMakefileで提供されている場合に限る。提供されていない場合は、インストールされたファイルを手動で追跡し削除する必要があるため注意が必要である。
インストール完了後、新しい端末セッションを開始するか、現在のシェルで以下のコマンドを実行することにより、シェルのパスキャッシュをクリアし、システムが新しくインストールされたCMakeを認識できるようにする。
hash -r
cmake --version
このコマンドの出力として、先ほどインストールしたCMakeのバージョン番号が表示されれば、インストールは正しく完了している。