[env] CARGO_MAKE_CLIPPY_ARGS = "--all-targets --all-features -- -D warnings -D clippy::pedantic" CARGO_MAKE_RELEASE_FLOW_TARGET = "x86_64-apple-darwin" [tasks.pre-build] dependencies = ["clippy"] [tasks.create-release-universal-binary] description = "Create universal binary from aarch64-apple-darwin and x86_64-apple-darwin release builds" category = "Build" condition = { env_set = ["CARGO_MAKE_BINARY_EXECUTABLE_NAME"] } env = { CARGO_MAKE_RELEASE_FLOW_TARGET = "universal-apple-darwin" } script = ''' mkdir -p target/${CARGO_MAKE_RELEASE_FLOW_TARGET}/release lipo -create -output target/${CARGO_MAKE_RELEASE_FLOW_TARGET}/release/${CARGO_MAKE_BINARY_EXECUTABLE_NAME} target/aarch64-apple-darwin/release/${CARGO_MAKE_BINARY_EXECUTABLE_NAME} target/x86_64-apple-darwin/release/${CARGO_MAKE_BINARY_EXECUTABLE_NAME} ''' [tasks.build-release-aarch64-apple-darwin] env = { CARGO_MAKE_RELEASE_FLOW_TARGET = "aarch64-apple-darwin", CARGO_MAKE_CI = "true" } run_task = "build-release-for-target" [tasks.build-release-x86_64-apple-darwin] env = { CARGO_MAKE_RELEASE_FLOW_TARGET = "x86_64-apple-darwin", CARGO_MAKE_CI = "true" } run_task = "build-release-for-target" [tasks.release-universal-binary-flow] description = "Creates aarch64-apple-darwin and x86_64-apple-darwin release and produces a universal binary" category = "Build" dependencies = ["build-release-aarch64-apple-darwin", "build-release-x86_64-apple-darwin", "create-release-universal-binary"] [tasks.zip-release-binary-for-target-aarch64-apple-darwin] env = { CARGO_MAKE_RELEASE_FLOW_TARGET = "aarch64-apple-darwin", CARGO_MAKE_CI = "true" } run_task = "zip-release-binary-for-target" [tasks.zip-release-binary-for-target-x86_64-apple-darwin] env = { CARGO_MAKE_RELEASE_FLOW_TARGET = "x86_64-apple-darwin", CARGO_MAKE_CI = "true" } run_task = "zip-release-binary-for-target" [tasks.zip-release-binary-universal] env = { CARGO_MAKE_RELEASE_FLOW_TARGET = "universal-apple-darwin" } run_task = "zip-release-binary-for-target" [tasks.zip-releases-flow] env = { CARGO_MAKE_CI = "true" } dependencies = [ "clean", "setup-release-build-env", "release-universal-binary-flow", "zip-release-binary-for-target-aarch64-apple-darwin", "zip-release-binary-for-target-x86_64-apple-darwin", "zip-release-binary-universal" ]