diff --git a/helix-syntax/build.rs b/helix-syntax/build.rs index 2e771ea45..a392a033d 100644 --- a/helix-syntax/build.rs +++ b/helix-syntax/build.rs @@ -57,6 +57,13 @@ fn build_c(files: Vec, language: &str) { fn build_cpp(files: Vec, language: &str) { let mut build = cc::Build::new(); + + let flag = if build.get_compiler().is_like_msvc() { + "/std:c++14" + } else { + "-std=c++14" + }; + for file in files { build .file(&file) @@ -64,7 +71,7 @@ fn build_cpp(files: Vec, language: &str) { .pic(true) .warnings(false) .cpp(true) - .flag("-std=c++14"); + .flag_if_supported(flag); } build.compile(&format!("tree-sitter-{}-cpp", language)); }