From 8e7641e584563c4859cbef992cd534e75ffd8142 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Mon, 2 Dec 2024 13:56:33 -0600 Subject: [PATCH] onnx: set CMAKE_CXX_STANDARD to abseil-cpp cxxstd value (#47858) --- var/spack/repos/builtin/packages/onnx/package.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/onnx/package.py b/var/spack/repos/builtin/packages/onnx/package.py index ec9602c14be..d3f764786ad 100644 --- a/var/spack/repos/builtin/packages/onnx/package.py +++ b/var/spack/repos/builtin/packages/onnx/package.py @@ -71,7 +71,9 @@ class Onnx(CMakePackage): def patch(self): if self.spec.satisfies("@1.13:1.14 ^protobuf@3.22:"): - filter_file("CMAKE_CXX_STANDARD 11", "CMAKE_CXX_STANDARD 14", "CMakeLists.txt") + # CMAKE_CXX_STANDARD is overridden in CMakeLists.txt until 1.14 + cxxstd = self.spec["abseil-cpp"].variants["cxxstd"].value + filter_file("CMAKE_CXX_STANDARD 11", f"CMAKE_CXX_STANDARD {cxxstd}", "CMakeLists.txt") def cmake_args(self): args = [ @@ -79,4 +81,8 @@ def cmake_args(self): self.define("PY_VERSION", self.spec["python"].version.up_to(2)), self.define("ONNX_BUILD_TESTS", self.run_tests), ] + if self.spec.satisfies("@1.15: ^protobuf@3.22:"): + # CMAKE_CXX_STANDARD can be set on command line as of 1.15 + cxxstd = self.spec["abseil-cpp"].variants["cxxstd"].value + args.append(self.define("CMAKE_CXX_STANDARD", cxxstd)) return args