csdms / babelizer

Transform BMI-wrapped models into Python packages
https://babelizer.readthedocs.io
MIT License
4 stars 3 forks source link

Build babelized projects with meson #90

Closed mdpiper closed 6 months ago

mdpiper commented 7 months ago

This PR changes the build system for babelized projects from setuptools to meson.

This fixes #77 and fixes #87.

mdpiper commented 7 months ago

I'm starting with Fortran, then I'll generalize to the other supported languages.

mcflugen commented 6 months ago

@mdpiper We're getting close, I think. Some things we still need to do,

I'm sure there are other things but I just wanted to get these down before I forget about them.

mdpiper commented 6 months ago

@mcflugen I'll remove the Makefile. Should I also remove MANIFEST.in from the template?

mcflugen commented 6 months ago

Should I also remove MANIFEST.in from the template?

Yes, but we'll have to make sure that everything is included in the source distribution that needs to be (the only extra stuff is the data folder, I think).

Maybe something along the lines of,

[tool.setuptools.package-data]
package_name = [
    "data/component_1/*",
    "data/component_2/*",
]
mdpiper commented 6 months ago

I'll leave the MANIFEST.in file for now since addressing it veers away from the main point of this PR.

I will update the README, though, because if a user does an editable install with pip, they need to set --no-build-isolation. (This is meson-python behavior.)

mdpiper commented 6 months ago

@mcflugen I think this is ready to go. What do you think?