66 lines
2.0 KiB
Markdown
66 lines
2.0 KiB
Markdown
# 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 repo’s scripts target).
|
||
|
||
- **Notarization credentials**:
|
||
- Create a `notarytool` keychain profile (recommended) so you don’t 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 what’s 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>"
|
||
```
|