-
Notifications
You must be signed in to change notification settings - Fork 6.5k
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
[angle] Rename libs to avoid conflict with system OpenGL. #27701
Conversation
Note that we already rename the headers in https://github.com/microsoft/vcpkg/blob/e6a79ac0183043994ab21a2c4e0f9cdad8a5421c/ports/angle/portfile.cmake#L77 Also remove what appears to be phantom dependency in qt5-base when not Windows, @Neumann-A reports over Discord https://discord.com/channels/400588936151433218/687365466422902841/1038241263494893649 that they just need any OpenGL implementation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You have modified or added at least one vcpkg.json where you should check the license
field.
If you feel able to do so, please consider adding a "license" field to the following files:
ports/angle/vcpkg.json
Valid values for the license field can be found in the documentation
To clarify, I believe the baseline issue is that qt et al. try to do a check_source_compiles where they get the system OpenGL headers, but end up linking with ANGLE's OpenGL implementation libraries == linker doom. |
a) It doesn't matter if you use system headers or headers from angle. the OpenGL API is tightly specified so you will basically get the same headers with the same symbols. (Maybe some vendor specific extension are missing but those are typically not used at all) |
@@ -625,6 +625,7 @@ list(APPEND LIBGLESV2_SOURCES | |||
) | |||
add_library(libGLESv2 ${LIBGLESV2_SOURCES}) | |||
target_link_libraries(libGLESv2 PRIVATE angle::common angle::libANGLE) | |||
set_property(TARGET libGLESv2 PROPERTY OUTPUT_NAME libGLESv2_angle) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only on Linux
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If so should we also avoid renaming the headers on Windows?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If so should we also avoid renaming the headers on Windows?
If you want to update (opengl|egl)-registry
make angle use the officially updated khronos headers and only keep the implementation specific angle headers, feel free to do so but i doubt it is worth the effort ;)
@@ -669,6 +670,7 @@ add_library(libEGL | |||
) | |||
|
|||
target_link_libraries(libEGL PRIVATE angle::common angle::libANGLE libGLESv2) | |||
set_property(TARGET libEGL PROPERTY OUTPUT_NAME libEGL_angle) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only on Linux
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You have modified or added at least one vcpkg.json where you should check the license
field.
If you feel able to do so, please consider adding a "license" field to the following files:
ports/angle/vcpkg.json
Valid values for the license field can be found in the documentation
Just because in some cases the headers could match doesn't mean they should be used that way.
Thanks for clarifying!
It indeed seems a system dependency to me. |
…ates) (#27444) * [angle] Update to chromium/5249 - Refactor build system based on WebKit's CMake build system for libANGLE - Add maintainer-notes.md * [angle] Fetch & generate more files in portfile * [angle] Move maintainer-notes.md * [angle] Port changes from #27701 * Merge install tweak from #28547 * [angle] Tweak PlatformLinux * Run x-add-version * [angle] Update to chromium/5414 * Run x-add-version * Fix version database. * Fix version database --------- Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com> Co-authored-by: Jonliu1993 <13720414433@163.com>
Note that we already rename the headers in
vcpkg/ports/angle/portfile.cmake
Lines 77 to 96 in e6a79ac
Also remove what appears to be phantom dependency in qt5-base when not Windows, @Neumann-A reports over Discord https://discord.com/channels/400588936151433218/687365466422902841/1038241263494893649 that they just need any OpenGL implementation.
This hopefully resolves build baseline issues, including but not limited to: https://dev.azure.com/vcpkg/public/_build/results?buildId=80502