From 44c1beaf3a682c42b08e0a3f562d9c26bea3f1ff Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Wed, 2 Dec 2020 12:25:57 +0100 Subject: boost: disable find_package's config mode for boost prior to v1.70.0 (#20198) --- var/spack/repos/builtin/packages/boost/package.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/boost/package.py b/var/spack/repos/builtin/packages/boost/package.py index 12831c5fd5..089758fb73 100644 --- a/var/spack/repos/builtin/packages/boost/package.py +++ b/var/spack/repos/builtin/packages/boost/package.py @@ -539,3 +539,16 @@ class Boost(Package): def setup_run_environment(self, env): env.set('BOOST_ROOT', self.prefix) + + def setup_dependent_package(self, module, dependent_spec): + # Disable find package's config mode for versions of Boost that + # didn't provide it. See https://github.com/spack/spack/issues/20169 + # and https://cmake.org/cmake/help/latest/module/FindBoost.html + is_cmake = isinstance(dependent_spec.package, CMakePackage) + if self.spec.satisfies('boost@:1.69.0') and is_cmake: + args_fn = type(dependent_spec.package).cmake_args + + def _cmake_args(self): + return ['-DBoost_NO_BOOST_CMAKE=ON'] + args_fn(self) + + type(dependent_spec.package).cmake_args = _cmake_args -- cgit v1.2.3-70-g09d2