Update .gitignore to exclude build output directories while tracking build tooling scripts in /build_tools/
This commit is contained in:
66
build_tools/README.md
Normal file
66
build_tools/README.md
Normal file
@@ -0,0 +1,66 @@
|
||||
# Build helper scripts
|
||||
|
||||
This `build_tools/` 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_tools/macos/install_brew_deps.sh
|
||||
```
|
||||
|
||||
- Build Strawberry:
|
||||
|
||||
```bash
|
||||
./build_tools/macos/build_app.sh --release
|
||||
open ./cmake-build-macos-release/strawberry.app
|
||||
```
|
||||
|
||||
## macOS signing + notarization (Developer ID distribution)
|
||||
|
||||
This repo includes `build_tools/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_tools/macos/build_sign_notarize.sh
|
||||
```
|
||||
|
||||
### Build + sign + notarize
|
||||
|
||||
```bash
|
||||
./build_tools/macos/build_sign_notarize.sh --run --release --clean --deploy \
|
||||
--identity "Developer ID Application: Your Name (TEAMID)" \
|
||||
--notary-profile "<profile-name>"
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user