Files
iccery-v2-mac/project.yml

123 lines
3.5 KiB
YAML

name: ICCery
options:
bundleIdPrefix: com.gronod
deploymentTarget:
macOS: "12.0"
groupSortPosition: top
packages:
ICCeryCore:
path: Packages/ICCeryCore
targets:
ICCery:
type: application
platform: macOS
deploymentTarget: "12.0"
sources:
- path: Sources/ICCery
- path: Resources
excludes:
- ICCery.entitlements
- Argyll
- path: Resources/Argyll
type: folder
dependencies:
- package: ICCeryCore
product: ICCeryCore
- sdk: SceneKit.framework
postBuildScripts:
- name: Copy Argyll sidecars
script: |
set -e
SRC="${SRCROOT}/Vendor/Argyll"
DEST="${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Argyll"
if [ -d "$SRC" ]; then
mkdir -p "$DEST"
rsync -a "$SRC/" "$DEST/"
else
echo "note: Vendor/Argyll absent — run scripts/fetch-argyll.sh"
fi
basedOnDependencyAnalysis: false
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.gronod.iccery2
PRODUCT_NAME: ICCery
PRODUCT_BUNDLE_PACKAGE_TYPE: APPL
GENERATE_INFOPLIST_FILE: YES
INFOPLIST_KEY_CFBundleDisplayName: ICCery
INFOPLIST_KEY_LSMinimumSystemVersion: "12.0"
INFOPLIST_KEY_NSPrincipalClass: NSApplication
INFOPLIST_KEY_NSHumanReadableCopyright: "Copyright © 2026 Gronod. AGPLv3."
MARKETING_VERSION: "2.0.0"
CURRENT_PROJECT_VERSION: "1"
ENABLE_HARDENED_RUNTIME: YES
CODE_SIGN_ENTITLEMENTS: Resources/ICCery.entitlements
CODE_SIGN_IDENTITY: "-"
CODE_SIGN_STYLE: Automatic
ENABLE_APP_SANDBOX: NO
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME: AccentColor
SWIFT_VERSION: "5.0"
OTHER_SWIFT_FLAGS: ["$(inherited)", "-strict-concurrency=minimal"]
MACOSX_DEPLOYMENT_TARGET: "12.0"
ARCHS: "$(ARCHS_STANDARD)"
# Debug builds sign ad-hoc; hardened-runtime library validation would
# reject the unsigned embedded ICCeryCore package framework when the
# test host launches (run 31992, #119). Release keeps validation and
# links the package statically anyway.
configs:
Debug:
DISABLE_LIBRARY_VALIDATION: YES
ICCeryCoreTests:
type: bundle.unit-test
platform: macOS
deploymentTarget: "12.0"
sources:
- path: Tests/ICCeryCoreTests
dependencies:
- package: ICCeryCore
product: ICCeryCore
- target: ICCery
settings:
base:
BUNDLE_LOADER: "$(TEST_HOST)"
TEST_HOST: "$(BUILT_PRODUCTS_DIR)/ICCery.app/Contents/MacOS/ICCery"
GENERATE_INFOPLIST_FILE: YES
CODE_SIGN_IDENTITY: "-"
SWIFT_VERSION: "5.0"
MACOSX_DEPLOYMENT_TARGET: "12.0"
ICCeryUITests:
type: bundle.ui-testing
platform: macOS
deploymentTarget: "12.0"
sources:
- path: Tests/ICCeryUITests
dependencies:
- target: ICCery
settings:
base:
TEST_TARGET_NAME: ICCery
GENERATE_INFOPLIST_FILE: YES
CODE_SIGN_IDENTITY: "-"
SWIFT_VERSION: "5.0"
MACOSX_DEPLOYMENT_TARGET: "12.0"
schemes:
ICCery:
build:
targets:
ICCery: all
ICCeryCoreTests: [test]
ICCeryUITests: [test]
run:
config: Debug
test:
config: Debug
gatherCoverageData: false
targets:
- ICCeryCoreTests
- ICCeryUITests