Skip to content

make out-of-source build with CMake truly out-of-source#615

Merged
boegel merged 1 commit intoeasybuilders:developfrom
boegel:CMakeMake_separate_build_dir
May 28, 2015
Merged

make out-of-source build with CMake truly out-of-source#615
boegel merged 1 commit intoeasybuilders:developfrom
boegel:CMakeMake_separate_build_dir

Conversation

@boegel
Copy link
Copy Markdown
Member

@boegel boegel commented May 28, 2015

setting separate_build_dir = True in an easyconfig using the CMakeMake easyblock results in executing the build procedure in a subdirectory of the unpacked sources

However, some packages (like CLHEP 2.2.x) require a true out-of-source build directory.

This fix should not break other easyconfigs that are already using separate_build_dir = True (I'll verify that before merging).

@hpcugentbot
Copy link
Copy Markdown

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/976/
Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/976/console for more details).

This pull request is now ready for review/testing.

Please try and find someone who can tackle this; contact @boegel if you're not sure what to do.

@wpoely86
Copy link
Copy Markdown
Member

yeah should be good

@wpoely86
Copy link
Copy Markdown
Member

why again didn't we make this the default in EB 2.0?

@boegel
Copy link
Copy Markdown
Member Author

boegel commented May 28, 2015

I don't know. Maybe because it's hard to deprecate the current behaviour?

@wpoely86
Copy link
Copy Markdown
Member

Maybe, but it really should be the default to do it out of tree.

@boegel
Copy link
Copy Markdown
Member Author

boegel commented May 28, 2015

Sure, but we need to test carefully before we flip the default.

If the builds that now do not use an out-of-source build still work, I guess we can switch (we probably don't even have to wait until EB v3.0, then).

Currently, 12 easyblocks derive from CMakeMake (others may derive from those), and 32 easyconfigs specify they're using the generic CMakeMake easyblock directly...

If we carefully compile a list of things to test after switching the default, it's doable.

How about starting with a PR that changes the default (after this one is merged), and compiling a list of things to test there?

@wpoely86
Copy link
Copy Markdown
Member

good idea. lets have a look

@boegel
Copy link
Copy Markdown
Member Author

boegel commented May 28, 2015

Retested on top of this, since they enable separate_build_dir = True:

  • ANTs-2.1.0rc3-goolf-1.5.14.eb
  • eXpress-1.5.1-goolf-1.4.10.eb
  • GMT-5.1.0-goolf-1.4.10.eb
  • getdp-2.5.0-intel-2015a-Python-2.7.9.eb
  • gmsh-2.9.1-intel-2015a.eb
  • Paraview-4.0.1-gmpolf-1.4.8.eb
  • Paraview-4.1.0-gmpolf-1.4.8.eb
  • Paraview-4.1.0-goolf-1.5.14.eb
  • SIBELia-3.0.4-goolf-1.4.10.eb
  • SPAdes-3.0.0-goolf-1.4.10.eb
  • SPAdes-3.1.0-goolf-1.4.10.eb

(via EB_OpenBabel, which sets self.cfg['separate_build_dir'] = True)

  • OpenBabel-2.3.2-goalf-1.5.12-no-OFED-Python-2.7.5.eb
  • OpenBabel-2.3.2-ictce-4.1.13-Python-2.7.3.eb
  • OpenBabel-2.3.2-ictce-5.5.0-Python-2.7.5.eb
  • OpenBabel-2.3.2-ictce-7.1.2-Python-2.7.8.eb
  • OpenBabel-2.3.2-intel-2014b-Python-2.7.8.eb

@boegel
Copy link
Copy Markdown
Member Author

boegel commented May 28, 2015

No existing builds were harmed (see above), as expected, so good to go in.

Thanks for the review @wpoely86!

boegel added a commit that referenced this pull request May 28, 2015
make out-of-source build with CMake truly out-of-source
@boegel boegel merged commit 1357d4a into easybuilders:develop May 28, 2015
@boegel boegel deleted the CMakeMake_separate_build_dir branch May 28, 2015 15:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants