chore: update cargo build profile (#3332)

This commit is contained in:
Nathan.fooo 2023-09-05 09:31:23 +08:00 committed by GitHub
parent 3db9024a2d
commit 790580eea4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 27 additions and 10 deletions

View File

@ -20,6 +20,7 @@ run_task = { name = ["restore-crate-type"] }
[env]
RUST_LOG = "info"
CARGO_PROFILE = "dev"
CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = true
CARGO_MAKE_CRATE_FS_NAME = "dart_ffi"
CARGO_MAKE_CRATE_NAME = "dart-ffi"
@ -75,6 +76,7 @@ BUILD_ACTIVE_ARCHS_ONLY = true
CRATE_TYPE = "staticlib"
[env.production-mac-arm64]
CARGO_PROFILE = "release"
BUILD_FLAG = "release"
TARGET_OS = "macos"
RUST_COMPILE_TARGET = "aarch64-apple-darwin"
@ -86,6 +88,7 @@ BUILD_ACTIVE_ARCHS_ONLY = false
CRATE_TYPE = "staticlib"
[env.production-mac-x86_64]
CARGO_PROFILE = "release"
BUILD_FLAG = "release"
TARGET_OS = "macos"
RUST_COMPILE_TARGET = "x86_64-apple-darwin"
@ -97,6 +100,7 @@ BUILD_ACTIVE_ARCHS_ONLY = false
CRATE_TYPE = "staticlib"
[env.production-mac-universal]
CARGO_PROFILE = "release"
BUILD_FLAG = "release"
TARGET_OS = "macos"
FLUTTER_OUTPUT_DIR = "Release"
@ -114,6 +118,7 @@ CRATE_TYPE = "cdylib"
LIB_EXT = "dll"
[env.production-windows-x86]
CARGO_PROFILE = "release"
BUILD_FLAG = "release"
TARGET_OS = "windows"
RUST_COMPILE_TARGET = "x86_64-pc-windows-msvc"
@ -133,6 +138,7 @@ LIB_EXT = "so"
LINUX_ARCH = "x64"
[env.production-linux-x86_64]
CARGO_PROFILE = "release"
BUILD_FLAG = "release"
TARGET_OS = "linux"
RUST_COMPILE_TARGET = "x86_64-unknown-linux-gnu"
@ -153,6 +159,7 @@ LINUX_ARCH = "arm64"
FLUTTER_DESKTOP_FEATURES = "dart,rev-sqlite,openssl_vendored"
[env.production-linux-aarch64]
CARGO_PROFILE = "release"
BUILD_FLAG = "release"
TARGET_OS = "linux"
RUST_COMPILE_TARGET = "aarch64-unknown-linux-gnu"
@ -202,6 +209,7 @@ FLUTTER_OUTPUT_DIR = "Debug"
FLUTTER_DESKTOP_FEATURES = "dart,rev-sqlite,openssl_vendored"
[env.production-android]
CARGO_PROFILE = "release"
BUILD_FLAG = "release"
TARGET_OS = "android"
CRATE_TYPE = "cdylib"

View File

@ -27,11 +27,20 @@ members = [
[profile.dev]
opt-level = 0
#https://doc.rust-lang.org/rustc/codegen-options/index.html#debug-assertions
#split-debuginfo = "unpacked"
lto = false
codegen-units = 16
[profile.release]
lto = true
opt-level = 3
codegen-units = 1
[profile.profiling]
inherits = "release"
debug = true
codegen-units = 16
lto = false
## debuginfoit makes ./target much bigger, which again harms caching. Depending on your preferred workflow,
## you might consider disabling debuginfo unconditionally, this brings some benefits for local builds as well.
#strip = "debuginfo"

View File

@ -20,7 +20,7 @@ category = "Build"
dependencies = ["env_check"]
run_task = { name = [
"setup-crate-type",
"sdk-build",
"sdk-dev-build",
"post-desktop",
"restore-crate-type",
] }
@ -30,7 +30,7 @@ category = "Build"
dependencies = ["env_check"]
run_task = { name = [
"setup-crate-type",
"sdk-build",
"sdk-dev-build",
"post-desktop",
"restore-crate-type",
] }
@ -40,13 +40,13 @@ category = "Build"
dependencies = ["env_check"]
run_task = { name = [
"setup-crate-type",
"sdk-build",
"sdk-dev-build",
"post-desktop",
"restore-crate-type",
] }
#
[tasks.sdk-build]
[tasks.sdk-dev-build]
private = true
script = [
"""
@ -59,7 +59,7 @@ script = [
]
script_runner = "@shell"
[tasks.sdk-build.mac]
[tasks.sdk-dev-build.mac]
private = true
script = [
"""
@ -72,7 +72,7 @@ script = [
]
script_runner = "@shell"
[tasks.sdk-build-android]
[tasks.sdk-dev-build-android]
private = true
script = [
"""
@ -98,7 +98,7 @@ script = [
]
script_runner = "@shell"
[tasks.sdk-build.windows]
[tasks.sdk-dev-build.windows]
private = true
script = [
"""
@ -126,7 +126,7 @@ run_task = { name = [
script = [
"""
cd rust-lib/
cargo build --${BUILD_FLAG} --package=dart-ffi --target ${RUST_COMPILE_TARGET} --features "${FLUTTER_DESKTOP_FEATURES}"
cargo build --profile ${CARGO_PROFILE} --${BUILD_FLAG} --package=dart-ffi --target ${RUST_COMPILE_TARGET} --features "${FLUTTER_DESKTOP_FEATURES}"
cd ../
""",
]