ビルドに必要なツールをコマンドラインからインストールする
あるプロジェクトのビルドを試すのに事前にインストールしたり、バージョンを合わせたりするのって面倒ですよね。(私だけでしょうか?)
CIなどで利用することも考えると、ビルドしたりテストするために打ち込むコマンドは最小限にしておきたいです。
そこで、Webページ上で公開されている実行ファイルなどをなるべく標準コマンドで実行できるようにしておくと、環境が変わってもセットアップがすんなりできそうです。
幸いCMakeやNinja, vswhereなど、ビルド時に使用したいツールはGitHubや公式サイトなどで実行ファイルが公開されている事が多いので、試してみたいと思います。
CMakeを例に試してみます。
CMakeはGitHubに必要なファイルがzipファイルにまとめてバージョンごとに公開されているので、そちらを利用します。
Windows編
まずはダウンロードするバージョンと対象プラットフォームを選びます。
バージョンは執筆時点で最新の3.23.1
を、プラットフォームはWindowsで試したいのでWindows64bit版
を選択しました。
配置場所はbatファイルのあるフォルダにしたいと思います。
@echo off
set CURRENT_DIR=%~dp0
set TARGET_DIR=%CURRENT_DIR%
set CMAKE_VERSION=3.23.1
set CMAKE_ARCHIVE_NAME=cmake-%CMAKE_VERSION%-windows-x86_64
ダウンロード
さてダウンロードですが、Windows標準のbitsadmin
コマンドを使用します。
bitsadmin /RawReturn /TRANSFER getfile
の後にURLを、さらにその後に保存先を指定します。
(結構時間がかかりますが、一度ダウンロードしたら再度ダウンロードすることは滅多にないので良いでしょう...。)
bitsadmin /RawReturn /TRANSFER getfile ^
https://github.com/Kitware/CMake/releases/download/v%CMAKE_VERSION%/%CMAKE_ARCHIVE_NAME%.zip ^
%TARGET_DIR%\%CMAKE_ARCHIVE_NAME%.zip
zipファイルを展開
zipファイルを展開します。
powershell Expand-Archive
コマンドの-Path
オプションに対象のzipファイルを、-DestinationPath
オプションに展開先のパスを指定します。
展開後、zipファイルは不要になるので削除しておきます。
powershell Expand-Archive -Path %CMAKE_ARCHIVE_NAME%.zip -DestinationPath %TARGET_DIR%
del %CMAKE_ARCHIVE_NAME%.zip
動作確認
展開まで終えたら動作確認です。
無事にバージョンが表示されていればOKです。
%CMAKE_PATH%\cmake.exe --version
サンプル
作成したbatファイルの全体コードをGitHub Gistで公開しました。
インストール済みかどうかのチェックなど一部追加をしています。
Discussion