cmake: Refactor to modernize and improve readability

Refactors the entire file to be more readable while also improving the possibility of future improvements. Components are now resolved in one go instead of being all over the place, and shared dependencies are now only resolved once instead of multiple times.

For future compatibility sake, all features now default to enabled and will instead show a warning if they can't be enabled, or if their dependencies can't be found. Pay attention to the build log if you encounter this, as it should hint you towards what is missing. Some features are also now optional, instead of being required.

Furthermore the "Reference" and "Package" mode for building have been removed as supporting them has been a problematic thing from the start. While their structure technically matches the one that is downloaded, effectively they can result in unpredictable issues.

A number of other issues have also been fixed, like Qt being invoked for non-Qt source files.
This commit is contained in:
Michael Fabian 'Xaymar' Dirks 2020-09-28 21:08:07 +02:00 committed by Xaymar
parent ec372f5668
commit 8163e3e917

File diff suppressed because it is too large Load diff