Add C++20 module build target v2 #1410
Open
+810
−482
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a cleaner attempt at #1364 which hopefully is more maintainable and approchable.
While #1364 tried to tag each symbol, this PR tags namespaces instead, reducing the amount of defines that need to be inserted.
Usage in client cmake:
In the code, it is then possible to use
import flecs;
to import all the flecs symbols. The current version includes everything in theflecs
namespace, but avoids including anything in the_
namespace.Maintainance:
FLECS_STATIC_IN_HEADER
, which becomesstatic
in headers, but not in the moduleFLECS_API_DEPENDENCY
I'd ideally like to find a way to modify the tests to
import flecs
instead of including it, but I don't know enough aboutbake
to know if it's even possible (which seems unlikely ifbake
only works with includes).