# 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: is a positional argument (not a flag). # Pick any name you want, e.g. "strawberry-notary". xcrun notarytool store-credentials "" \ --apple-id "" \ --team-id "" \ --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 "" ```