Update .gitignore to exclude build output directories while tracking build tooling scripts in /build_tools/

This commit is contained in:
2026-01-22 15:53:09 +09:00
parent 0ac4c93a4e
commit 4a1c165295
5 changed files with 518 additions and 0 deletions

66
build_tools/README.md Normal file
View 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 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_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>"
```