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

Updates to allow building MAPL with Spack instead of Baselibs #2229

Merged
merged 9 commits into from
Jul 20, 2023

Conversation

mathomp4
Copy link
Member

Description

This PR has changes needed to build MAPL with Spack as the libraries instead of Baselibs. Note that this is different than building MAPL with Spack (i.e., spack install mapl) but rather using spack as the provider of everything needed for Spack.

The main change is that we need to now include FindESMF.cmake inside of MAPL. The reason is that the spack ESMF package doesn't not readily expose where that file is in the installation of ESMF. It's not impossible to find, but Spack doesn't really lend itself to exposing its internals easily. I could work with @climbfuji and probably figure something out, but for now, just adding the file here is "easy". My guess is this won't interfere with building MAPL with Spack as the FindESMF.cmake file would be identical, but this will be needed to be tested.

We also move to turn BUILD_WITH_FLAP to default OFF as that won't be in Spack. This is fine for GEOSgcm and GEOSldas but GEOSadas still needs FLAP. So in our CI, we explicitly turn it on. As our CI currently uses Baselibs, we can do this as FLAP is there. Eventually I'll need to add CI that uses spack instead of Baselibs.

Related Issue

Motivation and Context

This is a step to allowing us to build MAPL (and eventually GEOS) with using spack as our libraries and not Baselibs.

How Has This Been Tested?

I've build MAPL. Need to do more testing.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Trivial change (affects only documentation or cleanup)

Checklist:

  • I have tested this change with a run of GEOSgcm (if non-trivial)
  • I have added one of the required labels (0 diff, 0 diff trivial, 0 diff structural, non 0-diff)
  • I have updated the CHANGELOG.md accordingly following the style of Keep a Changelog

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
@mathomp4 mathomp4 added the 0 Diff The changes in this pull request have verified to be zero-diff with the target branch. label Jul 12, 2023
@mathomp4 mathomp4 self-assigned this Jul 12, 2023
@mathomp4 mathomp4 changed the title Updates to allow building MAPL with Spack instead of Baselibs WIP: Updates to allow building MAPL with Spack instead of Baselibs Jul 12, 2023
@mathomp4 mathomp4 marked this pull request as ready for review July 19, 2023 14:03
@mathomp4 mathomp4 requested review from a team as code owners July 19, 2023 14:03
@mathomp4
Copy link
Member Author

I just tried this with develop (along with #2233 and #2056 ) and it built and runs. I suppose that's all I can say.

@mathomp4 mathomp4 changed the title WIP: Updates to allow building MAPL with Spack instead of Baselibs Updates to allow building MAPL with Spack instead of Baselibs Jul 19, 2023
Copy link
Collaborator

@tclune tclune left a comment

Choose a reason for hiding this comment

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

That is a surprisingly large block of logic ...

@mathomp4 mathomp4 merged commit ecda86f into develop Jul 20, 2023
@mathomp4 mathomp4 deleted the feature/mathomp4/build-with-spack branch July 20, 2023 17:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0 Diff The changes in this pull request have verified to be zero-diff with the target branch.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants