ハイハイスクールアドベンチャー_qt版
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
ハイハイスクールアドベンチャー_qt版 [2025/09/26 23:45] – [インストーラとパッケージ] araki | ハイハイスクールアドベンチャー_qt版 [2025/10/01 05:02] (現在) – [環境非依存化] araki | ||
---|---|---|---|
行 507: | 行 507: | ||
とりあえず、WindowsとLinux ((Ubuntu 24.04LTS, Ubuntu 25.04、Debian 12(ARM64)で確認))でのビルドが可能なことは確認しました。 | とりあえず、WindowsとLinux ((Ubuntu 24.04LTS, Ubuntu 25.04、Debian 12(ARM64)で確認))でのビルドが可能なことは確認しました。 | ||
+ | ((なお、Apple系のデバイスは持ってないし買う気もないのでできるかどうかはどなたか試してください。)) | ||
==== Windows版 ==== | ==== Windows版 ==== | ||
行 640: | 行 641: | ||
deb形式のパッケージにまとめることを想定しています。 | deb形式のパッケージにまとめることを想定しています。 | ||
- | パッケージングするためには、仮想ルートフォルダの下にイメージをインストールします。 | + | <del>パッケージングするためには、仮想ルートフォルダの下にイメージをインストールします。 |
<code bash> | <code bash> | ||
行 673: | 行 674: | ||
<code bash> | <code bash> | ||
$ dpkg-deb --root-owner-group --build package-root qhhsadv_1.0.0_ubutu24.04.2_amd64.deb | $ dpkg-deb --root-owner-group --build package-root qhhsadv_1.0.0_ubutu24.04.2_amd64.deb | ||
+ | </ | ||
+ | |||
+ | パッケージングでcontrolファイルを毎回作るの面倒くさいとAIにもちかけたら、CPackにすればいいじゃん、といわれました。 | ||
+ | なにそれ? | ||
+ | |||
+ | <code cmake> | ||
+ | if(UNIX AND NOT APPLE) | ||
+ | # パッケージの基本情報 | ||
+ | set(CPACK_PACKAGE_NAME ${APP_NAME}) | ||
+ | set(CPACK_PACKAGE_VERSION ${APP_VERSION}) | ||
+ | set(CPACK_PACKAGE_CONTACT " | ||
+ | |||
+ | # Debian パッケージ用のメタ情報 | ||
+ | set(CPACK_GENERATOR " | ||
+ | set(CPACK_DEBIAN_PACKAGE_MAINTAINER " | ||
+ | set(CPACK_DEBIAN_PACKAGE_SECTION " | ||
+ | set(CPACK_DEBIAN_PACKAGE_DEPENDS " | ||
+ | |||
+ | # アーキテクチャ指定(自動判定も可能) | ||
+ | string(TOLOWER " | ||
+ | |||
+ | if(DETECTED_ARCH STREQUAL " | ||
+ | set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE " | ||
+ | elseif(DETECTED_ARCH STREQUAL " | ||
+ | set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE " | ||
+ | elseif(DETECTED_ARCH MATCHES " | ||
+ | set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE " | ||
+ | else() | ||
+ | set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE " | ||
+ | endif() | ||
+ | |||
+ | include(CPack) | ||
+ | endif() | ||
+ | </ | ||
+ | |||
+ | インストールターゲットとか特には必要としません。 | ||
+ | パッケージの作成までは以下の手順になります。 | ||
+ | |||
+ | <code bash> | ||
+ | $ git clone https:// | ||
+ | $ cd qhhsadv | ||
+ | $ cmake -B build -DCMAKE_BUILD_TYPE=Release | ||
+ | $ cmake --build build --target all | ||
+ | $ cpack -G DEB -C Release --config build/ | ||
</ | </ | ||
インストールは dpkgでも aptでも好きなのでインストーラを走らせるだけです。 | インストールは dpkgでも aptでも好きなのでインストーラを走らせるだけです。 | ||
+ | カレントフォルダに qhhsadv_1.1.1_Linux.deb のようなファイルができます。 | ||
+ | バージョン番号は、CMakeLists.txtの頭の方に書いてあります。 | ||
+ | |||
+ | <code cmake> | ||
+ | # Application basic information | ||
+ | set(APP_NAME " | ||
+ | set(APP_VERSION_MAJOR " | ||
+ | set(APP_VERSION_MINOR " | ||
+ | set(APP_VERSION_PATCH " | ||
+ | set(APP_VERSION " | ||
+ | </ | ||
<code bash> | <code bash> | ||
行 697: | 行 753: | ||
DEBIANのcontrol同様、Inno Setup には Setup.issという設定ファイルを作る必要があります。 | DEBIANのcontrol同様、Inno Setup には Setup.issという設定ファイルを作る必要があります。 | ||
- | <file ini setup.iss> | + | <file ini setup.iss.in> |
; ハイハイスクールアドベンチャー インストーラ (Inno Setup) | ; ハイハイスクールアドベンチャー インストーラ (Inno Setup) | ||
[Setup] | [Setup] | ||
AppName=High High School Adventure Qt | AppName=High High School Adventure Qt | ||
- | AppVersion=1.1.0 | + | AppVersion=@APP_VERSION@ |
AppPublisher=WildTreeJP | AppPublisher=WildTreeJP | ||
DefaultDirName={commonpf}\QHHSAdv | DefaultDirName={commonpf}\QHHSAdv | ||
行 772: | 行 828: | ||
TARGET qhhsadv POST_BUILD | TARGET qhhsadv POST_BUILD | ||
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/ | COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/ | ||
- | COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/ | ||
COMMENT " | COMMENT " | ||
) | ) | ||
+ | configure_file(${CMAKE_SOURCE_DIR}/ | ||
+ | |||
# Inno Setup コンパイラを探す | # Inno Setup コンパイラを探す | ||
行 818: | 行 875: | ||
生成されたプログラム、リソースなどをコピーして、DLLなどをかき集めたら、ISCC.exe を呼び出して、インストーラに仕上げます。 | 生成されたプログラム、リソースなどをコピーして、DLLなどをかき集めたら、ISCC.exe を呼び出して、インストーラに仕上げます。 | ||
- | ここまでを、Windows環境で | + | ここまでを、Windows環境でビルドを走らせると一気にやってくれます。 |
ハイハイスクールアドベンチャー_qt版.1758930310.txt.gz · 最終更新: by araki