From c299b1476becf964459e4b8b2de86a09276e5bbf Mon Sep 17 00:00:00 2001 From: Anthony Ramine Date: Sat, 20 Dec 2025 15:53:35 +0100 Subject: [PATCH] Never use the debug CRT on Windows See https://github.com/rust-lang/cmake-rs/pull/30#issuecomment-2968661195. --- boring-sys/build/main.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/boring-sys/build/main.rs b/boring-sys/build/main.rs index 6f53cd82..a3e0f6db 100644 --- a/boring-sys/build/main.rs +++ b/boring-sys/build/main.rs @@ -200,11 +200,19 @@ fn get_boringssl_cmake_config(config: &Config) -> cmake::Config { let src_path = get_boringssl_source_path(config); let mut boringssl_cmake = cmake::Config::new(src_path); - if config.host == config.target { + if config.env.cmake_toolchain_file.is_some() { return boringssl_cmake; } - if config.env.cmake_toolchain_file.is_some() { + if config.target_os == "windows" { + // Explicitly use the non-debug CRT. + // This is required now because newest BoringSSL requires CMake 3.22 which + // uses the new logic with CMAKE_MSVC_RUNTIME_LIBRARY introduced in CMake 3.15. + // https://github.com/rust-lang/cmake-rs/pull/30#issuecomment-2969758499 + boringssl_cmake.define("CMAKE_MSVC_RUNTIME_LIBRARY", "MultiThreadedDLL"); + } + + if config.host == config.target { return boringssl_cmake; }