Files

61 lines
2.2 KiB
Markdown

# Build tools — BLOCKLINE — Relay District
Produces standalone, distributable builds from the Godot 4.5 project:
- **Windows** — `dist/windows/BLOCKLINE.exe` (x86_64)
- **macOS** — `dist/macos/BLOCKLINE.zip` (universal: Intel *and* Apple Silicon in one binary)
Both are exported on your Windows PC using the Godot editor already bundled in
`tools/godot/`. You do **not** need a Mac to produce the macOS build — Godot
cross-exports a universal `.app`.
## Quick start
Double-click `Build-Game.cmd` in the project root, or from a terminal:
```powershell
powershell -ExecutionPolicy Bypass -File build-tools\Build-Game.ps1
```
First run downloads the 4.5-stable export templates (~700 MB) into
`%APPDATA%\Godot\export_templates\4.5.stable\` automatically. After that it's
cached and builds take seconds.
### Options
```powershell
build-tools\Build-Game.ps1 -Target win # Windows only
build-tools\Build-Game.ps1 -Target mac # macOS only
build-tools\Build-Game.ps1 -DebugBuild # debug build (console + verbose)
```
## What ships to players
- **Windows:** the whole `dist\windows\` folder (the `.exe` needs the `.pck`
and any DLLs sitting next to it). Zip that folder.
- **macOS:** `dist\macos\BLOCKLINE.zip`. It contains `BLOCKLINE.app`.
## macOS code signing
The build is **unsigned** (no Apple Developer account assumed). On a Mac, the
first launch is blocked by Gatekeeper. Players work around it once with either:
- Right-click the app → **Open****Open**, or
- `xattr -dr com.apple.quarantine BLOCKLINE.app`
To remove that friction you'd need an Apple Developer ID and signing +
notarization (requires a Mac or a macOS CI runner). If you want that set up
later, the hooks are in `export_presets.cfg` under the `[preset.1.options]`
`codesign/` and `notarization/` keys.
## Files
| File | Purpose |
|------|---------|
| `../export_presets.cfg` | Godot export presets (Windows + macOS). Lives in the project root — Godot requires it there. |
| `Build-Game.ps1` | The build script: template fetch + headless export of both targets. |
| `../Build-Game.cmd` | Double-click wrapper in the project root. |
Generated output (`dist/`) and the downloaded templates are already covered by
`.gitignore`.