dtcenter/MET

Documentation: Provide instructions for compiling MET with the C++11 standard

Closed this issue · 1 comments

Describe the Task

Due to the issue Modify configure.ac to require the C++17 standard #2948, provide instructions for users can compile MET with the C++11 standard.

Update the screenshot in this section to include the newer versions of ecKit and ATLAS.

Review the rest of the page for any other necessary changes.

Time Estimate

1-3 days of work

Sub-Issues

Consider breaking the task down into sub-issues.

  • Add a checkbox for each sub-issue here.

Relevant Deadlines

MET-12.0.0-rc1 release

Funding Source

TBD

Define the Metadata

Assignee

  • Select engineer(s) or no engineer required
  • Select scientist(s) or no scientist required

Labels

  • Review default alert labels
  • Select component(s)
  • Select priority
  • Select requestor(s)

Milestone and Projects

  • Select Milestone as a MET-X.Y.Z version, Consider for Next Release, or Backlog of Development Ideas
  • For a MET-X.Y.Z version, select the MET-X.Y.Z Development project

Define Related Issue(s)

Consider the impact to the other METplus components.

Task Checklist

See the METplus Workflow for details.

  • Complete the issue definition above, including the Time Estimate and Funding Source.
  • Fork this repository or create a branch of develop.
    Branch name: feature_<Issue Number>_<Description>
  • Complete the development and test your changes.
  • Add/update log messages for easier debugging.
  • Add/update unit tests.
  • Add/update documentation.
  • Push local changes to GitHub.
  • Submit a pull request to merge into develop.
    Pull request: feature <Issue Number> <Description>
  • Define the pull request metadata, as permissions allow.
    Select: Reviewer(s) and Development issue
    Select: Milestone as the next official version
    Select: MET-X.Y.Z Development project for development toward the next official release
  • Iterate until the reviewer(s) accept and merge your changes.
  • Delete your fork or branch.
  • Close this issue.

Based on brainstorming with @j-opatz in Slack, recommend taking the following approach.

  1. Add support in the MET configure.ac file for a new environment variable named MET_CXX_STANDARD (or something similar).
  2. Update configure.ac to add MET_CXX_STANDARD it to the list of "influential env vars" along with a description of how it works.
  3. Update configure.ac to check to see if it's set. If so, set a local variable to the same value. If not, set that local variable to the default value of 17.
  4. Update configure.ac so that the CXXFLAGS setting includes -std=c++${MET_CXX_STANDARD}... or something similar to specify the C++ standard flag that should be used.