Skip to content

Build using CMake#57

Open
robertbartel wants to merge 7 commits intoNOAA-OWP:masterfrom
robertbartel:f/build_improvements/use_cmake
Open

Build using CMake#57
robertbartel wants to merge 7 commits intoNOAA-OWP:masterfrom
robertbartel:f/build_improvements/use_cmake

Conversation

@robertbartel
Copy link
Contributor

@robertbartel robertbartel commented Feb 17, 2026

Refactor build setup to use CMake build system. Add targets for stand-alone driver (mainly for testing), BMI shared library, and test executable with existing, simple test routine.

Additions

  • New top-level CMakeLists.txt

Removals

  • Makefiles in src/ and test/

Changes

  • Modify test code to dynamically get test data directory as macro that CMake build provides, to support running tests from CMake build directory
  • Modify test data so that tests can successfully be run from CMake build directory
  • Have git ignore JetBrains IDE project directory
  • Updating GitHub Actions workflow configs to account for new build setup

Testing

  1. All build targets all succeed
  2. Test executable with previously existing tests runs when called from CMake build directory
  3. All existing test pass

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
  • Visually tested in supported browsers and devices (see checklist below 👇)
  • Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)
  • Reviewers requested with the Reviewers tool ➡️

Testing checklist

Target Environment support

  • Windows
  • Linux
  • Browser

Accessibility

  • Keyboard friendly
  • Screen reader friendly

Other

  • Is useable without CSS
  • Is useable without JS
  • Flexible from small to large screens
  • No linting errors or warnings
  • JavaScript tests are passing

@robertbartel robertbartel added the enhancement New feature or request label Feb 17, 2026
@robertbartel robertbartel force-pushed the f/build_improvements/use_cmake branch from f6df020 to 8b759d4 Compare February 17, 2026 14:42
@robertbartel robertbartel marked this pull request as draft February 18, 2026 13:39
@robertbartel
Copy link
Contributor Author

Blocked by #59. Will rebase and take back out of draft once that is resolved.

Include targets for driver, shared lib, and existing simple test routine; remove old make files.
To align with new CMake build setup.
Make sure the C flags are passed in this variable rather than just on
the command line.
@robertbartel robertbartel force-pushed the f/build_improvements/use_cmake branch from 96d1683 to 2a023d5 Compare March 4, 2026 19:29
@robertbartel robertbartel marked this pull request as ready for review March 4, 2026 20:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant