Check for existence of libraries before parsing their flags with pkg-config #56532
+173
−115
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.
As requested here:
godot/platform/linuxbsd/detect.py
Line 232 in 8f6cba3
This PR basically replaces:
with
When there are dependencies it checks for all the libraries and only if they are all requested and all present does it use the shared libraries. It also provides useful information about which libraries are missing and which were not requested.
When there is a minimum version required the check is changed to:
godot/platform/linuxbsd/detect.py
Lines 281 to 282 in 8f6cba3
I've removed the check for
assimp
instead of fixing it, because it was removed in #44599 (#42941 in 3.x).I've made all the checks consistent (including the initial ones in
can_build()
).The main difference this PR makes is that when
pkg-config <library> --exists
returns an error, it reports the error and then falls back to using the builtin library instead of failing and not building at all. See #56526 and #7373.