mirror of
https://github.com/ankitects/anki.git
synced 2026-01-16 07:19:01 -05:00
After updating with tools/install-n2, you should now be able to see the last line of long-running commands like cargo invocations.
41 lines
1.3 KiB
Rust
41 lines
1.3 KiB
Rust
// Copyright: Ankitects Pty Ltd and contributors
|
|
// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|
|
|
use std::process::Command;
|
|
|
|
use camino::Utf8Path;
|
|
|
|
use super::artifacts::macos_deployment_target;
|
|
use crate::run::run_command;
|
|
|
|
pub fn build_bundle_binary() {
|
|
let mut features = String::from("build-mode-prebuilt-artifacts");
|
|
if cfg!(target_os = "linux") || (cfg!(target_os = "macos") && cfg!(target_arch = "aarch64")) {
|
|
features.push_str(",global-allocator-jemalloc,allocator-jemalloc");
|
|
}
|
|
|
|
let mut command = Command::new("cargo");
|
|
command
|
|
.args([
|
|
"build",
|
|
"--manifest-path=qt/bundle/Cargo.toml",
|
|
"--target-dir=out/bundle/rust",
|
|
"--release",
|
|
"--no-default-features",
|
|
])
|
|
.arg(format!("--features={features}"))
|
|
.env(
|
|
"DEFAULT_PYTHON_CONFIG_RS",
|
|
// included in main.rs, so relative to qt/bundle/src
|
|
"../../../out/bundle/artifacts/",
|
|
)
|
|
.env(
|
|
"PYO3_CONFIG_FILE",
|
|
Utf8Path::new("out/bundle/artifacts/pyo3-build-config-file.txt")
|
|
.canonicalize_utf8()
|
|
.unwrap(),
|
|
)
|
|
.env("MACOSX_DEPLOYMENT_TARGET", macos_deployment_target())
|
|
.env("CARGO_BUILD_TARGET", env!("TARGET"));
|
|
run_command(&mut command);
|
|
}
|