From e6833b0074086422b065edec2839ec9800c73885 Mon Sep 17 00:00:00 2001 From: Rushil Mehra Date: Fri, 26 Jan 2024 16:57:08 -0800 Subject: [PATCH] Set CMAKE_BUILD_PARALLEL_LEVEL to available_parallelism cmake-rs' jobserver doesn't work reliably, if at all. One workaround is to set CMAKE_BUILD_PARALLEL_LEVEL to available_parallelism(). On my machine it shaves ~35 seconds off of boring-sys builds. --- boring-sys/build/main.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/boring-sys/build/main.rs b/boring-sys/build/main.rs index 4e32431c..5af2df76 100644 --- a/boring-sys/build/main.rs +++ b/boring-sys/build/main.rs @@ -576,6 +576,10 @@ fn built_boring_source_path(config: &Config) -> &PathBuf { let mut cfg = get_boringssl_cmake_config(config); + if let Ok(threads) = std::thread::available_parallelism() { + cfg.env("CMAKE_BUILD_PARALLEL_LEVEL", threads.to_string()); + } + if config.features.fips { let (clang, clangxx) = verify_fips_clang_version(); cfg.define("CMAKE_C_COMPILER", clang)