Skip to content

Add Meson Build System Support to ddX#157

Merged
mnottoli merged 17 commits into
ddsolvation:mainfrom
lukaswittmann:meson
Apr 7, 2026
Merged

Add Meson Build System Support to ddX#157
mnottoli merged 17 commits into
ddsolvation:mainfrom
lukaswittmann:meson

Conversation

@lukaswittmann
Copy link
Copy Markdown
Contributor

Add Meson Build System Support to ddX

Summary
This pull request implements a Meson-based build and test setup for ddX (see issue #155), providing an alternative to the existing CMake workflow. The Meson configuration is purely additive and does not remove or disrupt the CMake build. Portions of these Meson files and snippets were adapted from tblite and dftd4.

Key Changes

  1. Meson Build Files

    • Added a top-level meson.build for compiling ddX with dependencies (BLAS, LAPACK, OpenMP).
    • Created subdirectory meson.build files for tests, including standalone_tests.
  2. Testing Integration

    • Replicated the CMake test suite using Meson’s test() calls, preserving coverage (e.g., ddx_driver, force, lpb_incore).
    • Introduced wrapper script (tests/standalone_tests/meson_test_wrapper.in) where needed to accommodate older Meson versions lacking advanced test() arguments.
  3. Preservation of CMake

    • The existing CMake setup remains fully intact.
    • Users can choose Meson or CMake based on their environment and preference.
  4. Documentation

    • Added build and test instructions for Meson in the docs/ folder.

Minimum Meson Version
Requires Meson 0.61 or later.

Quick Usage

meson setup build
meson compile -C build
meson test -C build --print-errorlog

References

@mnottoli
Copy link
Copy Markdown
Collaborator

mnottoli commented Apr 7, 2026

I updated this with the new radial derivatives and added some proper testing. It's now ready for the merge.

@mnottoli mnottoli merged commit 8c28263 into ddsolvation:main Apr 7, 2026
5 checks passed
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