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 のインストール
CMake のソースコードは GitHub 上で管理されている。これを取得するにはバージョン管理システムである Git を使用する. Git をインストールするには, 端末で,次のコマンドを実行する。
sudo apt -y install git
CMake のソースコードからのビルドとインストール
Ubuntu 24.04 LTS の公式 APT リポジトリや Kitware が提供する APT リポジトリからも CMake はインストールできるが、それらで提供されるバージョンがプロジェクトの要求する機能を含んでいない場合がある。そのような場合には、ソースコードから任意の安定版をビルドしインストールする。例えば、CMake 3.29 で追加されたリンカ選択機能 (CMAKE_LINKER_TYPE 変数および LINKER_TYPE ターゲットプロパティ) や、同じく CMake 3.29 で導入されたリンク行上のライブラリ重複排除ポリシー (CMP0156) を利用する場合がこれに該当する。
端末で,以下のコマンドを順に実行する。
sudo apt -y install zlib1g-dev libcurl4-gnutls-dev libssl-dev
cd /tmp
git clone https://github.com/Kitware/CMake.git
cd CMake
git checkout v4.0.2 # ここは適宜、必要なバージョンに変更する
./bootstrap --system-curl --system-zlib --parallel=$(nproc)
make -j$(nproc)
sudo make install
補足事項:
- バージョン選定:
git checkoutで指定するバージョンは、CMake の公式リリースタグページで確認し、プロジェクトの要件や互換性を考慮して選択する。 - CMake 4.0 以降での非互換: CMake 4.0 では
cmake_minimum_required(VERSION ...)に 3.5 未満を指定したプロジェクトの構成がエラーになる。古いプロジェクトをそのまま構成する場合は、cmake -DCMAKE_POLICY_VERSION_MINIMUM=3.5 ...のように指定するか、プロジェクト側のcmake_minimum_requiredを更新する。 - インストール先のカスタマイズ:
./bootstrapスクリプト実行時に--prefix=/path/to/custom/installオプションを用いることで、CMake のインストール先ディレクトリを標準の/usr/local以外(例:/opt/cmake-4.0.2やユーザーのホームディレクトリ配下の$HOME/.localなど)に変更できる。標準以外のディレクトリを指定した場合は、そのディレクトリ配下のbinをPATHに追加する。 - アンインストール: CMake のビルドシステムには
uninstallターゲットが用意されていない。make installの際にビルドディレクトリ内に生成されるinstall_manifest.txtにインストールされたファイルの一覧が記録されるため、これを用いて削除する。cd /tmp/CMake sudo xargs rm -f < install_manifest.txt
インストール完了後、新しい端末を開くか、現在のシェルで以下のコマンドを実行して、シェルのコマンドパスのキャッシュをクリアし、新しくインストールされた CMake を認識させる。
hash -r
cmake --version
このコマンドの出力として、インストールした CMake のバージョン番号が表示されれば、インストールは完了している。