diff --git a/packages/open3d/glew-no-glu.patch b/packages/open3d/glew-no-glu.patch new file mode 100644 index 0000000000000000000000000000000000000000..84baf0ecd3f5c2cfb403c2142d85427d9e64ee43 --- /dev/null +++ b/packages/open3d/glew-no-glu.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a87d542b5..509a50633 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -41,6 +41,10 @@ endif() + include(CMakeDependentOption) + + # Open3D build options ++option(DEFINE_GLEW_NO_GLU "Glew without GLU" OFF) ++if(DEFINE_GLEW_NO_GLU) ++ add_definitions(-DGLEW_NO_GLU) ++endif(DEFINE_GLEW_NO_GLU) + option(BUILD_SHARED_LIBS "Build shared libraries" OFF) + option(BUILD_EXAMPLES "Build Open3D examples programs" ON ) + option(BUILD_UNIT_TESTS "Build Open3D unit tests" OFF) diff --git a/packages/open3d/package.py b/packages/open3d/package.py index 86883731679efe38c66e62d4ae5e3467d7040136..d97a7e03bc066c7204f28cd2309c59e0bc4a3efc 100644 --- a/packages/open3d/package.py +++ b/packages/open3d/package.py @@ -85,6 +85,8 @@ class Open3d(CMakePackage, CudaPackage): # LLVM must be built with the C++ library conflicts("^llvm libcxx=none") + patch("glew-no-glu.patch") + def patch(self): # Force Python libraries to be installed to self.prefix args = std_pip_args + ["--prefix=" + self.prefix] @@ -148,6 +150,8 @@ class Open3d(CMakePackage, CudaPackage): # args.append(self.define("USE_SYSTEM_VTK", True)) if self.spec.satisfies("@0.18:"): args.append(self.define("USE_SYSTEM_EMBREE", True)) + # cf. https://github.com/spack/spack/issues/42839 + args.append(self.define("DEFINE_GLEW_NO_GLU", True)) # end EBRAINS if "+python" in self.spec: