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

Ensure proper setting for BOOST_NO_CXX98_FUNCTION_BASE control when building ecflow with C++17 #370

Merged

Conversation

srherbener
Copy link
Collaborator

@srherbener srherbener commented Nov 17, 2023

Description

This PR properly defines BOOST_NO_CXX98_FUNCTION_BASE when building ecflow with the C++17 standard. The ecflow CMake configuration has been setting the C++17 standard since version 5.8.3 (ie, using the -std=gnu++17 compiler option). When using C++17, the boost executor.hpp include file needs to have BOOST_NO_CXX98_FUNCTION_BASE defined to build successfully.

I have a PR in the authoritative spack repo (spack#41120) with corresponding updates. The changes in this PR were made by cherry picking the commits from spack#41120.

I've tested these changes on my Mac and verified that building ecflow (5.11.4) works when using [email protected] compilers.

Issue(s) addressed

Partially resolves JCSDA/spack-stack/issues/877

Dependencies

List the other PRs that this PR is dependent on:
None

Impact

Expected impact on downstream repositories:
None

Checklist

  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation (N/A)
  • I have run the unit tests before creating the PR

… variant that is

needed to set BOOST_NO_CXX98_FUNCTION_BASE appropriately when building with C++17 standard.
…dy specifying

to use the c++17 standard for newer versions. The use of the BOOST_NO_CXX98_FUNCTION_BASE
define is now triggered by the ecflow version.
Copy link
Collaborator

@climbfuji climbfuji left a comment

Choose a reason for hiding this comment

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

Thanks, happy with the changes. Don't see why the spack PR wouldn't go through as it is now. @AlexanderRichert-NOAA can you please review both the spack mainline PR and this one?

@srherbener srherbener added the INFRA JEDI Infrastructure label Nov 17, 2023
@climbfuji climbfuji self-assigned this Nov 17, 2023
@climbfuji climbfuji merged commit 42fbcfb into JCSDA:jcsda_emc_spack_stack Nov 17, 2023
@climbfuji climbfuji deleted the bugfix/ecflow-boost-cxx17 branch November 17, 2023 21:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
INFRA JEDI Infrastructure
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Need a c++17 language standard setting for ecflow for building on macOS with [email protected]
3 participants