cfg.define("LLVM_BUILD_32_BITS", "ON");
}
+ let mut enabled_llvm_projects = Vec::new();
+
+ if util::forcing_clang_based_tests() {
+ enabled_llvm_projects.push("clang");
+ enabled_llvm_projects.push("compiler-rt");
+ }
+
if want_lldb {
- cfg.define("LLVM_ENABLE_PROJECTS", "clang;lldb");
+ enabled_llvm_projects.push("clang");
+ enabled_llvm_projects.push("lldb");
// For the time being, disable code signing.
cfg.define("LLDB_CODESIGN_IDENTITY", "");
cfg.define("LLDB_NO_DEBUGSERVER", "ON");
cfg.define("LLVM_ENABLE_LIBXML2", "OFF");
}
+ if enabled_llvm_projects.len() > 0 {
+ enabled_llvm_projects.sort();
+ enabled_llvm_projects.dedup();
+ cfg.define("LLVM_ENABLE_PROJECTS", enabled_llvm_projects.join(";"));
+ }
+
if let Some(num_linkers) = builder.config.llvm_link_jobs {
if num_linkers > 0 {
cfg.define("LLVM_PARALLEL_LINK_JOBS", num_linkers.to_string());
fn configure_cmake(builder: &Builder<'_>,
target: Interned<String>,
cfg: &mut cmake::Config) {
+ // Do not print installation messages for up-to-date files.
+ // LLVM and LLD builds can produce a lot of those and hit CI limits on log size.
+ cfg.define("CMAKE_INSTALL_MESSAGE", "LAZY");
+
if builder.config.ninja {
cfg.generator("Ninja");
}