manually apply debug assertions flag for fullstack debug mode
This commit is contained in:
1 parent
0914298bea
commit
601c63b67f
1 file changed
+22
-7
@@ -66,7 +66,7 @@ impl Platform for FullstackPlatform {
|
|||||||
}
|
}
|
||||||
None => desktop_config.features = Some(vec![desktop_feature]),
|
None => desktop_config.features = Some(vec![desktop_feature]),
|
||||||
};
|
};
|
||||||
let _gaurd = FullstackServerEnvGuard::new(self.serve.debug);
|
let _gaurd = FullstackServerEnvGuard::new(&self.serve);
|
||||||
self.desktop.rebuild(&desktop_config)
|
self.desktop.rebuild(&desktop_config)
|
||||||
};
|
};
|
||||||
thread_handle
|
thread_handle
|
||||||
@@ -88,7 +88,7 @@ fn build_web(serve: ConfigOptsServe, target_directory: &std::path::Path) -> Resu
|
|||||||
};
|
};
|
||||||
web_config.platform = Some(crate::cfg::Platform::Web);
|
web_config.platform = Some(crate::cfg::Platform::Web);
|
||||||
|
|
||||||
let _gaurd = FullstackWebEnvGuard::new(web_config.debug);
|
let _gaurd = FullstackWebEnvGuard::new(&web_config);
|
||||||
crate::cli::build::Build { build: web_config }.build(None, Some(target_directory))
|
crate::cli::build::Build { build: web_config }.build(None, Some(target_directory))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -99,14 +99,21 @@ pub(crate) struct FullstackWebEnvGuard {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl FullstackWebEnvGuard {
|
impl FullstackWebEnvGuard {
|
||||||
pub fn new(debug_mode: bool) -> Self {
|
pub fn new(serve: &ConfigOptsBuild) -> Self {
|
||||||
Self {
|
Self {
|
||||||
old_rustflags: (!debug_mode).then(|| {
|
old_rustflags: (!serve.debug).then(|| {
|
||||||
let old_rustflags = std::env::var("RUSTFLAGS").unwrap_or_default();
|
let old_rustflags = std::env::var("RUSTFLAGS").unwrap_or_default();
|
||||||
|
let debug_assertions = if serve.release {
|
||||||
|
""
|
||||||
|
} else {
|
||||||
|
" -C debug-assertions"
|
||||||
|
};
|
||||||
|
|
||||||
std::env::set_var(
|
std::env::set_var(
|
||||||
"RUSTFLAGS",
|
"RUSTFLAGS",
|
||||||
format!("{old_rustflags} -C debuginfo=none -C strip=debuginfo"),
|
format!(
|
||||||
|
"{old_rustflags} -C debuginfo=none -C strip=debuginfo{debug_assertions}"
|
||||||
|
),
|
||||||
);
|
);
|
||||||
old_rustflags
|
old_rustflags
|
||||||
}),
|
}),
|
||||||
@@ -129,12 +136,20 @@ pub(crate) struct FullstackServerEnvGuard {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl FullstackServerEnvGuard {
|
impl FullstackServerEnvGuard {
|
||||||
pub fn new(debug_mode: bool) -> Self {
|
pub fn new(debug_mode: bool, release_mode: bool) -> Self {
|
||||||
Self {
|
Self {
|
||||||
old_rustflags: (!debug_mode).then(|| {
|
old_rustflags: (!debug_mode).then(|| {
|
||||||
let old_rustflags = std::env::var("RUSTFLAGS").unwrap_or_default();
|
let old_rustflags = std::env::var("RUSTFLAGS").unwrap_or_default();
|
||||||
|
let debug_assertions = if serve.release {
|
||||||
|
""
|
||||||
|
} else {
|
||||||
|
" -C debug-assertions"
|
||||||
|
};
|
||||||
|
|
||||||
std::env::set_var("RUSTFLAGS", format!("{old_rustflags} -C opt-level=2"));
|
std::env::set_var(
|
||||||
|
"RUSTFLAGS",
|
||||||
|
format!("{old_rustflags} -C opt-level=2 {debug_assertions}"),
|
||||||
|
);
|
||||||
old_rustflags
|
old_rustflags
|
||||||
}),
|
}),
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user