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
parent 808da4894b
commit 3097a4f552
1 changed files with 680 additions and 571 deletions

File diff suppressed because it is too large Load Diff