mirror of
https://gitlab.com/gabmus/envision.git
synced 2025-04-22 04:24:50 +00:00
feat: refactor builders cmake vars and env to use inner blocks
This commit is contained in:
parent
4f80aed3c2
commit
ce5f486596
4 changed files with 96 additions and 67 deletions
|
@ -35,28 +35,39 @@ pub fn get_build_basalt_jobs(profile: &Profile, clean_build: bool) -> VecDeque<W
|
|||
jobs.extend(git.get_pre_build_jobs(profile.pull_on_build));
|
||||
|
||||
let build_dir = profile.features.basalt.path.as_ref().unwrap().join("build");
|
||||
let mut cmake_vars: HashMap<String, String> = HashMap::new();
|
||||
cmake_vars.insert("CMAKE_EXPORT_COMPILE_COMMANDS".into(), "ON".into());
|
||||
cmake_vars.insert("CMAKE_BUILD_TYPE".into(), "RelWithDebInfo".into());
|
||||
cmake_vars.insert(
|
||||
"CMAKE_INSTALL_PREFIX".into(),
|
||||
profile.prefix.to_string_lossy().to_string(),
|
||||
);
|
||||
cmake_vars.insert("BUILD_TESTS".into(), "OFF".into());
|
||||
cmake_vars.insert("BASALT_INSTANTIATIONS_DOUBLE".into(), "OFF".into());
|
||||
cmake_vars.insert(
|
||||
"CMAKE_INSTALL_LIBDIR".into(),
|
||||
profile.prefix.join("lib").to_string_lossy().to_string(),
|
||||
);
|
||||
|
||||
let mut cmake_env: HashMap<String, String> = HashMap::new();
|
||||
cmake_env.insert("CMAKE_BUILD_PARALLEL_LEVEL".into(), "2".into());
|
||||
cmake_env.insert("CMAKE_BUILD_TYPE".into(), "RelWithDebInfo".into());
|
||||
cmake_env.insert("BUILD_TESTS".into(), "off".into());
|
||||
|
||||
let cmake = Cmake {
|
||||
env: Some(cmake_env),
|
||||
vars: Some(cmake_vars),
|
||||
env: Some({
|
||||
let mut cmake_env: HashMap<String, String> = HashMap::new();
|
||||
for (k, v) in [
|
||||
("CMAKE_BUILD_PARALLEL_LEVEL", "2"),
|
||||
("CMAKE_BUILD_TYPE", "RelWithDebInfo"),
|
||||
("BUILD_TESTS", "off"),
|
||||
] {
|
||||
cmake_env.insert(k.to_string(), v.to_string());
|
||||
}
|
||||
cmake_env
|
||||
}),
|
||||
vars: Some({
|
||||
let mut cmake_vars: HashMap<String, String> = HashMap::new();
|
||||
for (k, v) in [
|
||||
("CMAKE_EXPORT_COMPILE_COMMANDS", "ON"),
|
||||
("CMAKE_BUILD_TYPE", "RelWithDebInfo"),
|
||||
("BUILD_TESTS", "OFF"),
|
||||
("BASALT_INSTANTIATIONS_DOUBLE", "OFF"),
|
||||
] {
|
||||
cmake_vars.insert(k.to_string(), v.to_string());
|
||||
}
|
||||
cmake_vars.insert(
|
||||
"CMAKE_INSTALL_PREFIX".into(),
|
||||
profile.prefix.to_string_lossy().to_string(),
|
||||
);
|
||||
cmake_vars.insert(
|
||||
"CMAKE_INSTALL_LIBDIR".into(),
|
||||
profile.prefix.join("lib").to_string_lossy().to_string(),
|
||||
);
|
||||
cmake_vars
|
||||
}),
|
||||
source_dir: profile.features.basalt.path.as_ref().unwrap().clone(),
|
||||
build_dir: build_dir.clone(),
|
||||
};
|
||||
|
|
|
@ -44,24 +44,30 @@ pub fn get_build_libsurvive_jobs(profile: &Profile, clean_build: bool) -> VecDeq
|
|||
.as_ref()
|
||||
.unwrap()
|
||||
.join("build");
|
||||
let mut cmake_vars: HashMap<String, String> = HashMap::new();
|
||||
cmake_vars.insert("CMAKE_EXPORT_COMPILE_COMMANDS".into(), "ON".into());
|
||||
cmake_vars.insert("CMAKE_BUILD_TYPE".into(), "RelWithDebInfo".into());
|
||||
cmake_vars.insert("ENABLE_api_example".into(), "OFF".into());
|
||||
cmake_vars.insert("USE_HIDAPI".into(), "ON".into());
|
||||
cmake_vars.insert("CMAKE_SKIP_INSTALL_RPATH".into(), "YES".into());
|
||||
cmake_vars.insert(
|
||||
"CMAKE_INSTALL_PREFIX".into(),
|
||||
profile.prefix.to_string_lossy().to_string(),
|
||||
);
|
||||
cmake_vars.insert(
|
||||
"CMAKE_INSTALL_LIBDIR".into(),
|
||||
profile.prefix.join("lib").to_string_lossy().to_string(),
|
||||
);
|
||||
|
||||
let cmake = Cmake {
|
||||
env: None,
|
||||
vars: Some(cmake_vars),
|
||||
vars: Some({
|
||||
let mut cmake_vars: HashMap<String, String> = HashMap::new();
|
||||
for (k, v) in [
|
||||
("CMAKE_EXPORT_COMPILE_COMMANDS", "ON"),
|
||||
("CMAKE_BUILD_TYPE", "RelWithDebInfo"),
|
||||
("ENABLE_api_example", "OFF"),
|
||||
("USE_HIDAPI", "ON"),
|
||||
("CMAKE_SKIP_INSTALL_RPATH", "YES"),
|
||||
] {
|
||||
cmake_vars.insert(k.to_string(), v.to_string());
|
||||
}
|
||||
cmake_vars.insert(
|
||||
"CMAKE_INSTALL_PREFIX".into(),
|
||||
profile.prefix.to_string_lossy().to_string(),
|
||||
);
|
||||
cmake_vars.insert(
|
||||
"CMAKE_INSTALL_LIBDIR".into(),
|
||||
profile.prefix.join("lib").to_string_lossy().to_string(),
|
||||
);
|
||||
cmake_vars
|
||||
}),
|
||||
source_dir: profile.features.libsurvive.path.as_ref().unwrap().clone(),
|
||||
build_dir: build_dir.clone(),
|
||||
};
|
||||
|
|
|
@ -43,37 +43,43 @@ pub fn get_build_monado_jobs(profile: &Profile, clean_build: bool) -> VecDeque<W
|
|||
.to_string_lossy()
|
||||
.to_string(),
|
||||
);
|
||||
let mut cmake_vars: HashMap<String, String> = HashMap::new();
|
||||
cmake_vars.insert("CMAKE_EXPORT_COMPILE_COMMANDS".into(), "ON".into());
|
||||
cmake_vars.insert("CMAKE_BUILD_TYPE".into(), "RelWithDebInfo".into());
|
||||
cmake_vars.insert("XRT_HAVE_SYSTEM_CJSON".into(), "NO".into());
|
||||
cmake_vars.insert(
|
||||
"CMAKE_LIBDIR".into(),
|
||||
profile.prefix.join("lib").to_string_lossy().to_string(),
|
||||
);
|
||||
cmake_vars.insert(
|
||||
"CMAKE_INSTALL_PREFIX".into(),
|
||||
profile.prefix.to_string_lossy().to_string(),
|
||||
);
|
||||
cmake_vars.insert(
|
||||
"CMAKE_C_FLAGS".into(),
|
||||
format!("-Wl,-rpath='{}/lib'", profile.prefix.to_string_lossy(),),
|
||||
);
|
||||
cmake_vars.insert(
|
||||
"CMAKE_CXX_FLAGS".into(),
|
||||
format!("-Wl,-rpath='{}/lib'", profile.prefix.to_string_lossy(),),
|
||||
);
|
||||
profile.xrservice_cmake_flags.iter().for_each(|(k, v)| {
|
||||
if k == "CMAKE_C_FLAGS" || k == "CMAKE_CXX_FLAGS" {
|
||||
cmake_vars.insert(k.clone(), format!("{} {}", cmake_vars.get(k).unwrap(), v));
|
||||
} else {
|
||||
cmake_vars.insert(k.clone(), v.clone());
|
||||
}
|
||||
});
|
||||
|
||||
let cmake = Cmake {
|
||||
env: Some(env),
|
||||
vars: Some(cmake_vars),
|
||||
vars: Some({
|
||||
let mut cmake_vars: HashMap<String, String> = HashMap::new();
|
||||
for (k, v) in [
|
||||
("CMAKE_EXPORT_COMPILE_COMMANDS", "ON"),
|
||||
("CMAKE_BUILD_TYPE", "RelWithDebInfo"),
|
||||
("XRT_HAVE_SYSTEM_CJSON", "NO"),
|
||||
] {
|
||||
cmake_vars.insert(k.to_string(), v.to_string());
|
||||
}
|
||||
cmake_vars.insert(
|
||||
"CMAKE_LIBDIR".into(),
|
||||
profile.prefix.join("lib").to_string_lossy().to_string(),
|
||||
);
|
||||
cmake_vars.insert(
|
||||
"CMAKE_INSTALL_PREFIX".into(),
|
||||
profile.prefix.to_string_lossy().to_string(),
|
||||
);
|
||||
cmake_vars.insert(
|
||||
"CMAKE_C_FLAGS".into(),
|
||||
format!("-Wl,-rpath='{}/lib'", profile.prefix.to_string_lossy(),),
|
||||
);
|
||||
cmake_vars.insert(
|
||||
"CMAKE_CXX_FLAGS".into(),
|
||||
format!("-Wl,-rpath='{}/lib'", profile.prefix.to_string_lossy(),),
|
||||
);
|
||||
profile.xrservice_cmake_flags.iter().for_each(|(k, v)| {
|
||||
if k == "CMAKE_C_FLAGS" || k == "CMAKE_CXX_FLAGS" {
|
||||
cmake_vars.insert(k.clone(), format!("{} {}", cmake_vars.get(k).unwrap(), v));
|
||||
} else {
|
||||
cmake_vars.insert(k.clone(), v.clone());
|
||||
}
|
||||
});
|
||||
cmake_vars
|
||||
}),
|
||||
source_dir: profile.xrservice_path.clone(),
|
||||
build_dir: build_dir.clone(),
|
||||
};
|
||||
|
|
|
@ -36,12 +36,18 @@ pub fn get_build_opencomposite_jobs(profile: &Profile, clean_build: bool) -> Vec
|
|||
jobs.extend(git.get_pre_build_jobs(profile.pull_on_build));
|
||||
|
||||
let build_dir = profile.ovr_comp.path.join("build");
|
||||
let mut cmake_vars: HashMap<String, String> = HashMap::new();
|
||||
cmake_vars.insert("CMAKE_EXPORT_COMPILE_COMMANDS".into(), "ON".into());
|
||||
cmake_vars.insert("CMAKE_BUILD_TYPE".into(), "RelWithDebInfo".into());
|
||||
let cmake = Cmake {
|
||||
env: None,
|
||||
vars: Some(cmake_vars),
|
||||
vars: Some({
|
||||
let mut cmake_vars: HashMap<String, String> = HashMap::new();
|
||||
for (k, v) in [
|
||||
("CMAKE_EXPORT_COMPILE_COMMANDS", "ON"),
|
||||
("CMAKE_BUILD_TYPE", "RelWithDebInfo"),
|
||||
] {
|
||||
cmake_vars.insert(k.to_string(), v.to_string());
|
||||
}
|
||||
cmake_vars
|
||||
}),
|
||||
source_dir: profile.ovr_comp.path.clone(),
|
||||
build_dir: build_dir.clone(),
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue