From ede94cca1fad44d6f6fd94b71893d0d543807c5f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 15 Jun 2022 13:04:51 +0200 Subject: [PATCH] make sure that CMakeMakeCp uses correct build dir --- easybuild/easyblocks/generic/cmakemake.py | 4 +++- easybuild/easyblocks/generic/cmakemakecp.py | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/easybuild/easyblocks/generic/cmakemake.py b/easybuild/easyblocks/generic/cmakemake.py index b9ab3f50b8..46afd2ca01 100644 --- a/easybuild/easyblocks/generic/cmakemake.py +++ b/easybuild/easyblocks/generic/cmakemake.py @@ -92,6 +92,7 @@ def __init__(self, *args, **kwargs): """Constructor for CMakeMake easyblock""" super(CMakeMake, self).__init__(*args, **kwargs) self._lib_ext = None + self.separate_build_dir = None @property def lib_ext(self): @@ -122,7 +123,8 @@ def configure_step(self, srcdir=None, builddir=None): setup_cmake_env(self.toolchain) if builddir is None and self.cfg.get('separate_build_dir', True): - builddir = create_unused_dir(self.builddir, 'easybuild_obj') + self.separate_build_dir = create_unused_dir(self.builddir, 'easybuild_obj') + builddir = self.separate_build_dir if builddir: mkdir(builddir, parents=True) diff --git a/easybuild/easyblocks/generic/cmakemakecp.py b/easybuild/easyblocks/generic/cmakemakecp.py index 049b9e9abb..bfa4229fbe 100644 --- a/easybuild/easyblocks/generic/cmakemakecp.py +++ b/easybuild/easyblocks/generic/cmakemakecp.py @@ -50,5 +50,9 @@ def configure_step(self, srcdir=None, builddir=None): def install_step(self): """Install by copying specified files and directories.""" if self.cfg.get('separate_build_dir', False): - self.cfg['start_dir'] = os.path.join(self.builddir, 'easybuild_obj') + if self.separate_build_dir: + self.cfg['start_dir'] = self.separate_build_dir + else: + self.cfg['start_dir'] = os.path.join(self.builddir, 'easybuild_obj') + return MakeCp.install_step(self)