Splitting a large Meson project into multiple pyprojects #685
Replies: 1 comment 4 replies
-
Interesting question - and great to see Sagemath working on a Meson build!
It isn't. Install tags are purely an install-time feature; all targets gets built even if they don't get installed. It works well for something like "don't include the test suite in the wheel", but not for conditional dependency detection or other conditional build steps.
Subprojects are designed for external dependencies; my gut feel here is that they can be made to work for your use case, but aren't the best choice given that your project is in a single large repo and the addons you're trying to enable/disable aren't really external.
This seems like the way to go. Important question: are these addons each in their own subdirectory? If so, then I think this shouldn't be hard: move the |
Beta Was this translation helpful? Give feedback.
-
At Sagemath, we have the following wish-list for our Meson build:
One important aspect is that these addon's have additional external dependencies that are not (necessarily) shared by the "standard" installation.
I wanted to ask if someone has experience with a similar setup and can recommend an approach for implementing it?
The following options come to mind:
--tags
argument. I don't know though if it is possible to check for the presence of a dependency conditional on the provided install tag.Beta Was this translation helpful? Give feedback.
All reactions