-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Trial use of meson as build system #53
Comments
I have a proof of concept for Meson in the following branch: https://github.com/bcumming/arbor/tree/meson It took one day to put together. It compiles everything needed to build the ring example, i.e. modcc, mechanisms, libarbor, libsup, libenv. The same effort would have taken a week and a lot of angst to do in CMake. Still to resolved:
|
Move common functionality to run-validation.sh. Implements arbor-sim#53. * Make validation run script responsible for configuring output directory, printing test status, and capturing test stdout/stderr. * Pass cache refresh request via environment variable `ns_cache_refresh`. * Use exit codes to return test failure status. * Print progress, platform information to stdout in run-validation.sh. * Set up terminal colours with `tput`, and test for tty.
This is being revived after a lengthy hiatus. I will develop a proof of concept, that demonstrates end to implementation of our build process that we can use to analyze whether meson is viable. I will not support some features, like MPI or GPUs, to reduce the complexity of the demonstrator. |
What's the status of this? |
Trial is online as a draft PR. We still lack the most crucial part: Passing arguments from pip to cmake/meson (yes, neither!). Until this is fixed, meson isn't a valuable upgrade over cmake. |
pip has --config-settings but the backend needs to support this. https://pypi.org/project/meson-python/ can do this both on the command line and via a pyproject.toml setting. |
Thanks for chiming in @eli-schwartz. You can find our progress here: #1991 As Arbor is not a pure Python project, currently Also, mesonbuild/meson#7863 being open made us think the time isn't right for looking into this. Maybe that issue being open isn't the best indicator, but how 'complete' is |
It's not the best indicator IMHO. The SciPy successfully released with it for a while now, as have some other projects. ... The meson issue is about adding a simpler backend directly to Meson (the What's probably going to happen is that the Again, meson-python is maintained as part of the @mesonbuild organization. |
Let's try meson! Dependencies are Python3 and Ninja, and in principle we can install it locally in our environments with Pip.
In the first instance, let's just trial it for a serial (no MPI) build.
Until (if ever) it becomes a robust alternative to the existing CMake scripts, CMake will be the preferred build system and the one which needs to be in a working state.
The text was updated successfully, but these errors were encountered: