More meson.build adjustments#122
Conversation
- tabs -> 2 spaces per style guide - foreach loop for the extension modules - clean up cpp_args - migrate c++ standard specification to project() - global project argument for `-DUSE_MPI` - Removed `-fPIC`. Meson handles this for us. - set default buildtype to 'release' in project() - can be overridden with `meson setup ... -Dbuildtype=debug` - Add `-march=native` global project argument, conditionally. - Since we don't distribute binaries and expect users to compile pyo3 for themselves, I don't see a reason not to include this flag as it can only help performance. At worst, it does nothing.
|
Accidentally closed somehow |
|
Working to extend this PR to add support for 1st-party extensions, e.g., https://github.com/PyORBIT-Collaboration/laser-stripping for @tvgorlov. |
|
Fixed. All CI checks are passing. So, it looks like I'm touching lots of files, but majority of the file diffs are just renaming instances of There are some actual changes to core, though. My goal was to create separation between C++ backend and python wrapper logic in the Creating that separation opens up the possibility to create bindings for other languages if desired (Julia?), or use another library like pybind/nanobind. In the end, we now have a shared library for the pyorbit core, which does not link against |
|
I split this PR into two. See #131. |
Migrating some modfications I've been carrying around locally:
cpp_argsproject(). Can now be overridden from the CLI with:meson setup ... -Dcpp_std=<version>-DUSE_MPI-fPIC. Meson handles this for us.buildtypeto 'release' in project()meson setup ... -Dbuildtype=debug-march=nativeglobal project argument, conditionally.