ビルド
Settings (v0.2.2)
ビルドホスト
| ホスト | 用途 |
|---|---|
| macOS | 開発・macOS 向けビルド・Windows へのクロスコンパイル |
| Ubuntu Desktop 等 | Linux ネイティブビルド |
| Windows | 現時点ではビルドホストとして未対応 |
Windows 向け .exe は,macOS 上で mingw-w64 と x86_64-pc-windows-gnu ターゲットを使ってクロスビルドします。Linux 向けバイナリは macOS からのクロスコンパイルが難しいため,Linux ホスト上でネイティブにビルドします。
本番ビルド(repos/settings/Makefile)
| ターゲット | 出力 |
|---|---|
make binary | target/release/settings(親アプリへの同梱用) |
make check-schema | スキーマの静的検証のみ |
make settings-arm64 / settings-x86_64 | dist/settings/darwin-*/Settings.app |
make settings-win | dist/settings/windows-x86_64/Settings.exe |
make settings-linux | dist/settings/linux-x86_64/settings(Linux ホストで実行) |
make settings-schema-checker-* | dist/settings-schema-checker/<arch>/ |
ARCH slug: darwin-arm64 / darwin-x86_64 / windows-x86_64 / linux-x86_64
bash
cd repos/settings
make icons
make binary
make SCHEMA='/path/with spaces/schema.toml' binary # パスに空白を含められる(v0.2.2 以降)
make check-schema SCHEMA=./demo/schema.tomlスキーマパスの指定方法(Makefile 経由)
| 優先順位 | 指定方法 |
|---|---|
| 1 | 環境変数 SETTINGS_SCHEMA |
| 2 | make SCHEMA=… |
| 3 | 既定値 ../schema.toml |
Makefile を介さず cargo build のみを実行した場合のフォールバックは demo/schema.toml です。
デモ GUI のビルド(repos/settings/demo/Makefile)
demo/schema.toml を埋め込んだスタンドアロン GUI をビルドします。settings-schema-checker はビルド対象に含みません。
| ターゲット | 出力 |
|---|---|
make demo-arm64 / demo-x86_64 | demo/dist/darwin-*/Settings.app + Resources/config.toml |
make demo-win | demo/dist/windows-x86_64/ + config.toml |
make demo-linux | demo/dist/linux-x86_64/ + config.toml |
settings-schema-checker
スキーマ作者・CI 向けの検証 CLI です。GUI とは異なり,どの schema.toml も埋め込まず,実行時にパスを引数として受け取ります。
bash
cargo run -p settings-schema --bin settings-schema-checker -- /path/to/schema.toml
# または
make check-schema SCHEMA=./demo/schema.toml終了コード:
| コード | 意味 |
|---|---|
0 | 検証成功 |
1 | 検証失敗(スキーマに問題がある) |
2 | 使用方法のエラー(引数不正など) |