Files
strawberry/build/README.md

66 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Build helper scripts
This `build/` directory contains **helper scripts and notes** for building Strawberry.
- It is **not** intended to be your CMake build output directory.
- Recommended CMake build output directories: `cmake-build/`, `build-release/`, etc.
## macOS
- Install dependencies via Homebrew:
```bash
./build/macos/install_brew_deps.sh
```
- Build Strawberry:
```bash
./build/macos/build_app.sh --release
open ./cmake-build-macos-release/strawberry.app
```
## macOS signing + notarization (Developer ID distribution)
This repo includes `build/macos/build_sign_notarize.sh` to automate:
- build → (optional deploy) → codesign → notarize → staple → verify
### One-time setup (Apple Developer)
- **Install certificates**:
- In the Apple Developer portal, create (or download) a **Developer ID Application** certificate.
- Install it into your login keychain (Xcode can manage this via **Xcode → Settings → Accounts**).
- **Provisioning profiles**:
- For **Developer ID distribution (outside the Mac App Store)**, you typically **do not need a provisioning profile**.
- You *do* need profiles if you are building a **Mac App Store**-signed app (not what this repos scripts target).
- **Notarization credentials**:
- Create a `notarytool` keychain profile (recommended) so you dont have to pass secrets on the command line:
```bash
# NOTE: <profile-name> is a positional argument (not a flag).
# Pick any name you want, e.g. "strawberry-notary".
xcrun notarytool store-credentials "<profile-name>" \
--apple-id "<your-apple-id>" \
--team-id "<TEAMID>" \
--password "<app-specific-password>"
```
### Listing whats installed locally
Run with no args to list local signing identities + notarytool profiles:
```bash
./build/macos/build_sign_notarize.sh
```
### Build + sign + notarize
```bash
./build/macos/build_sign_notarize.sh --run --release --clean --deploy \
--identity "Developer ID Application: Your Name (TEAMID)" \
--notary-profile "<profile-name>"
```