概要
- Linux上のクロスビルドがPR時にCI/CDのフローで実行されています
- ビルドのディストロはFedora
- コンパイル専用の環境をVirtual BoxのゲストOS上に構築します
大まかなフロー
QGISのビルド結果
- ソースコードを編集しビルドすることでカスタムされたQGISを構築可能です
- ポータブル版のQGISがビルドされるので任意のディレクトリ、USBから実行可能です
- GRASS GISやSaga GISは付属しません
環境構築(初回のみ)
- VirtualBoxをダウンロードしてWindowsにインストールをします
- Fedora39 WorkStationのLive DVDをダウンロードします
- VirtualBoxを起動し仮想マシン(ゲストOS)を新規作成します
- 仮想マシンの作成ウィザードを進めます
- 仮想マシンの設定を行います
- 仮想マシンを起動するとFedoraのインストーラーが立ち上がる特筆すべきことはないので割愛します
- 共有フォルダの設定
- VirtualBox Guest AdditionsのCDイメージを挿入します
- VirtualBox Guest AdditionsをFedora(ゲストOS)にインストールします
cd /run/media/<User>/VBox_GAs_<version>/
sudo autorun.sh
- 共有フォルダとクリップボードの共有が有効になります
-
ここまででスナップショットを保存することを推奨します
- スナップショットとはゲストOSの復元ポイントを作成するVirtualBoxの機能です
- これ以降の手順で失敗してもロールバック可能になります
- 共有フォルダのユーザーグループを変更
sudo usermod --append --groups vboxsf $USER
- Fedora(ゲストOS)を再起動します
- 共有フォルダーのQGISソースコードをゲストOSの~/以下の任意のディレクトリにコピーします
- Fedora(ゲストOS)で端末を開きます
-
cd ~/QGIS/ms-windows/mingw
Fedora(ゲストOS)でコマンドを実行します- ビルドするディレクトリに移動します
-
sudo dnf -y update
Fedora(ゲストOS)でコマンドを実行- パッケージをアップデートします
-
sudo sh mingwdeps.sh
Fedora(ゲストOS)でコマンドを実行- Fedora 39 WorkStationのビルドに必要なパッケージをインストールします
- パッケージの変更が必要なのでsudoで実行する必要があります
QGISのビルド(2回目以降はここから)
-
cd ~/QGIS/ms-windows/mingw
Fedora(ゲストOS)でコマンドを実行します -
build.shの以下のオプションをONからOFF
- QGIS公式ランディングページ関係のオプションなのでONからOFFにします
-DWITH_SERVER=OFF -DWITH_SERVER_LANDINGPAGE_WEBAPP=OFF
-
sh build.sh x86_64 nodebug 4
Fedora(ゲストOS)でコマンドを実行します- 4コアで64bitのリリースビルドが始まります
-
tar cfzh qgis.tar.gz ~/QGIS/build_mingw64/*
Fedora(ゲストOS)でコマンドを実行します- シンボリックリンクを辿らせて圧縮します
-
共有フォルダに
qgis.tar.gz
をコピーします -
Windows(ホストOS)で
qgis.tar.gz
を解凍します -
build_mingw64\dist\usr\x86_64-w64-mingw32\sys-root\mingw\bin\qgis.exeをクリックするとQGISが起動可能になっています