Skip to content

Build modules under extern in the build tree, not under the source tree#902

Draft
PhilMiller wants to merge 3 commits into
NOAA-OWP:masterfrom
PhilMiller:PhilMiller/build-extern-out-of-source
Draft

Build modules under extern in the build tree, not under the source tree#902
PhilMiller wants to merge 3 commits into
NOAA-OWP:masterfrom
PhilMiller:PhilMiller/build-extern-out-of-source

Conversation

@PhilMiller

@PhilMiller PhilMiller commented May 30, 2025

Copy link
Copy Markdown
Contributor

For everything under extern/, both Git submodules and support libraries, move their build output below the main CMake binary directory, rather than generating a cmake_build directory under each of them. This avoids issues with the compilation being mis-matched in various ways from the main framework build.

This comes at the small cost of duplicative compilation, but I think it's worthwhile, given the frustrating and confusing failure modes that arise from the noted mismatches.

Changes

  • Various CMakeLists.txt to redirect where they are ultimately building things
  • Tests with hardcoded paths to the relevant BMI modules
  • Realization configuration files used in testing and examples to update BMI module paths

Testing

Screenshots

Notes

Todos

  • Update documentation and other bits to match.

Checklist

  • PR has an informative and human-readable title
  • Changes are limited to a single goal (no scope creep)
  • Code can be automatically merged (no conflicts)
  • Code follows project standards (link if applicable)
  • Passes all existing automated tests
  • Any change in functionality is tested
  • New functions are documented (with a description, list of inputs, and expected output)
  • Placeholder code is flagged / future todos are captured in comments
  • Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)
  • Reviewers requested with the Reviewers tool ➡️

Testing checklist (automated report can be put here)

  1. Local ctest
  2. Github CI jobs

hellkite500
hellkite500 previously approved these changes May 30, 2025
@hellkite500
hellkite500 dismissed their stale review May 30, 2025 23:44

Need to look more closely at failing tests not finding libs in new paths

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.

2 participants