Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add options to MesonNinja easyblock to customize build_cmd, install_cmd, builddir #2963

Merged
merged 4 commits into from
Aug 31, 2023

Conversation

mboisson
Copy link
Contributor

@mboisson mboisson commented Jul 18, 2023

I have a MesonNinja EasyConfig (SU2) that comes bundled with its own meson, but also its own ninja. I need to be able to override the ninja command to use the ./ninja command from the source directory. It also needs to build in a specific folder (build), so I need to be able to override the builddir (which is mislabelled as sourcedir in the EasyBlock) that is passed to the Meson configure command.

@boegel boegel changed the title added options to customize build_cmd, install_cmd, builddir added options to MesonNinja easyblock to customize build_cmd, install_cmd, builddir Aug 2, 2023
@boegel boegel added this to the next release (4.8.1?) milestone Aug 2, 2023
easybuild/easyblocks/generic/mesonninja.py Outdated Show resolved Hide resolved
easybuild/easyblocks/generic/mesonninja.py Outdated Show resolved Hide resolved
@boegel boegel changed the title added options to MesonNinja easyblock to customize build_cmd, install_cmd, builddir add options to MesonNinja easyblock to customize build_cmd, install_cmd, builddir Aug 2, 2023
easybuild/easyblocks/generic/mesonninja.py Outdated Show resolved Hide resolved
easybuild/easyblocks/generic/mesonninja.py Outdated Show resolved Hide resolved
easybuild/easyblocks/generic/mesonninja.py Outdated Show resolved Hide resolved
Co-authored-by: Kenneth Hoste <kenneth.hoste@ugent.be>
Copy link
Member

@boegel boegel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@boegel
Copy link
Member

boegel commented Aug 30, 2023

Test report by @boegel

Overview of tested easyconfigs (in order)

  • SUCCESS SciPy-bundle-2023.07-gfbf-2023a.eb
  • SUCCESS Xvfb-21.1.3-GCCcore-11.3.0.eb
  • SUCCESS Pango-1.50.7-GCCcore-11.3.0.eb
  • SUCCESS X11-20230603-GCCcore-12.3.0.eb
  • SUCCESS libdrm-2.4.115-GCCcore-12.3.0.eb
  • SUCCESS libglvnd-1.6.0-GCCcore-12.3.0.eb
  • SUCCESS Mesa-23.1.4-GCCcore-12.3.0.eb

Build succeeded for 7 out of 7 (4 easyconfigs in total)
node3506.doduo.os - Linux RHEL 8.6, x86_64, AMD EPYC 7552 48-Core Processor (zen2), Python 3.6.8
See https://gist.github.com/boegel/aed9d465b3e9af49a96ec237034f5b82 for a full test report.

@boegel boegel merged commit 98faac4 into easybuilders:develop Aug 31, 2023
@@ -49,7 +51,10 @@ def extra_options(extra_vars=None):
"""Define extra easyconfig parameters specific to MesonNinja."""
extra_vars = EasyBlock.extra_options(extra_vars)
extra_vars.update({
'build_dir': [None, "build_dir to pass to meson", CUSTOM],
'build_cmd': [DEFAULT_BUILD_CMD, "Build command to use", CUSTOM],
Copy link
Contributor

@Flamefire Flamefire Sep 4, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This breaks the CMakeNinja EasyBlock which doesn't call this method and hence has "make" as the build_cmd

-> #2993

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants