summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWouter Deconinck <wdconinc@gmail.com>2024-09-30 20:07:57 -0500
committerGitHub <noreply@github.com>2024-09-30 19:07:57 -0600
commitfdb5178f99aa513f8c6cad8c6e7aa3efa0184627 (patch)
tree5c8fa34db25d25c3a2c859776ea5f18df53870e8
parent7a3525a05311f907a6a98c82f66e69d57f910483 (diff)
downloadspack-fdb5178f99aa513f8c6cad8c6e7aa3efa0184627.tar.gz
spack-fdb5178f99aa513f8c6cad8c6e7aa3efa0184627.tar.bz2
spack-fdb5178f99aa513f8c6cad8c6e7aa3efa0184627.tar.xz
spack-fdb5178f99aa513f8c6cad8c6e7aa3efa0184627.zip
py-onnx: use out of source tree build for CMake part (#45266)
Co-authored-by: Bernhard Kaindl <contact@bernhard.kaindl.dev>
-rw-r--r--var/spack/repos/builtin/packages/py-onnx/package.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/py-onnx/package.py b/var/spack/repos/builtin/packages/py-onnx/package.py
index 288b7c1c65..446f6217fd 100644
--- a/var/spack/repos/builtin/packages/py-onnx/package.py
+++ b/var/spack/repos/builtin/packages/py-onnx/package.py
@@ -83,3 +83,18 @@ class PyOnnx(PythonPackage):
sha256="be12f589bc4113982e4162efcdbd95835a6c161a9a7e10cd1dde026cadedf8aa",
when="@1.15.0 ^abseil-cpp cxxstd=20",
)
+
+ # By default, ONNX always uses .setuptools-cmake-build/ under the source path,
+ # so we allow overriding with a build environment variable
+ def patch(self):
+ filter_file(
+ r"^CMAKE_BUILD_DIR = (.*)$",
+ r"CMAKE_BUILD_DIR = os.getenv('CMAKE_BUILD_DIR', default=\1)",
+ "setup.py",
+ )
+
+ def setup_build_environment(self, env):
+ # Build in a similar directory as the CMake packages
+ env.set(
+ "CMAKE_BUILD_DIR", join_path(self.stage.path, f"spack-build-{self.spec.dag_hash(7)}")
+ )