Skip to content
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

Meson build files for 1.79 #8

Merged
merged 1 commit into from
Dec 20, 2020
Merged

Meson build files for 1.79 #8

merged 1 commit into from
Dec 20, 2020

Conversation

stephanlachnit
Copy link

Closes #7.

First note: with >1.79 the examples folder will not include the backend implementations anymore, they will be in the backends folder instead.

Second note, regarding #7. I switched from features to booleans, as I don't think that the library should depend on libraries just because they happen to be installed on the system. If one wants a specific implementation, it should be enabled by hand. Kinda important for reproducibility as well, as I want to use this in project that will end up in a Debian package eventually.

Third note, regarding OpenGL. I removed the legacy opengl2 option, as one can also use OpenGL 2.x with the opengl3 implementation as well. Also, currently we only have one OpenGL loader, namely glew. However, as we can see here, there are much more options. Since glew is the preferred option and I don't actually need any of those, I don't really care about implementing the others.

/cc @st4ll1 @XPXPv2 @TommyXR

@TommyXR
Copy link

TommyXR commented Nov 10, 2020

Thank you, that solves a lot of things. Unfortunately I don't have write access to merge, but if it's not merged before the end of the week, I'll add an issue in the wrapdb repo (as suggested by the wrapdb guidelines).

@stephanlachnit
Copy link
Author

@legeana friendly ping

@eli-schwartz
Copy link
Member

Second note, regarding #7. I switched from features to booleans, as I don't think that the library should depend on libraries just because they happen to be installed on the system. If one wants a specific implementation, it should be enabled by hand. Kinda important for reproducibility as well, as I want to use this in project that will end up in a Debian package eventually.

This should be solved by using meson setup --auto-features=disabled and enabling each feature you want by hand. And/or the feature equivalent of type : 'boolean', value : false is type: 'feature', value: 'disabled' if you want them to not be checked by default. I do NOT see a good reason to change these to booleans.

@eli-schwartz eli-schwartz changed the base branch from master to 1.79 November 20, 2020 03:21
@eli-schwartz
Copy link
Member

You somehow ended up with a file named meson.options instead of meson_options.txt which means:

  • the review tool immediately errors due to non-buildsystem files
  • meson builddir/ immediately errors with
    meson.build:14:3: ERROR: Tried to access unknown option "dx9".
    

@stephanlachnit
Copy link
Author

Oh wow how did I mess that up. Fixed.

@eli-schwartz
Copy link
Member

What about my comment w.r.t booleans vs. features defaulting to "disabled"?

meson.build Outdated Show resolved Hide resolved
@stephanlachnit
Copy link
Author

Switched to features, but I'll still need to test it. Can't test the Windows / OSX stuff, same with marmalade.

Signed-off-by: Stephan Lachnit <[email protected]>
@stephanlachnit
Copy link
Author

Alright, gave it a test compile and it works. For DirectX I found some Meson examples, so they might even work, for Metal no clue. Marmalade is proprietary, so no chance that I could test it anyway. The other stuff should work, but I didn't try every combination.

@eli-schwartz
Copy link
Member

Sorry for forgetting about this. Thanks for the changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Dynamic dependencies
3 participants