aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2021-03-22 15:25:29 -0700
committerDylan Baker <dylan@pnwbakers.com>2021-03-23 15:28:08 -0700
commitc211fea51389728783cf59ae41156a5e0de9c41a (patch)
tree3269d721c713be5e7cd9d0c3a30e14b20b58e46e /docs
parent54c55f77a976deb0047a78468250b75525df6514 (diff)
downloadmeson-c211fea51389728783cf59ae41156a5e0de9c41a.zip
meson-c211fea51389728783cf59ae41156a5e0de9c41a.tar.gz
meson-c211fea51389728783cf59ae41156a5e0de9c41a.tar.bz2
Refactor Qt Dependency into proper split classes with factories
Currently the Qt Dependencies still use the old "combined" method for dependencies with multiple ways to be found. This is problematic as it means that `get_variable()` and friends don't work, as the dependency can't implement any of those methods. The correct solution is to make use of multiple Dependency instances, and a factory to tie them together. This does that. To handle QMake, I've leveraged the existing config-tool mechanism, which allows us to save a good deal of code, and use well tested code instead of rolling more of our own code. The one thing this doesn't do, but we probably should, is expose the macOS ExtraFrameworks directly, instead of forcing them to be found through QMake. That is a problem for another series, and someone who cares more about macOS than I do.
Diffstat (limited to 'docs')
-rw-r--r--docs/markdown/snippets/qt_factory.md6
1 files changed, 6 insertions, 0 deletions
diff --git a/docs/markdown/snippets/qt_factory.md b/docs/markdown/snippets/qt_factory.md
new file mode 100644
index 0000000..11cc783
--- /dev/null
+++ b/docs/markdown/snippets/qt_factory.md
@@ -0,0 +1,6 @@
+## Qt Dependency uses a Factory
+
+This separates the Pkg-config and QMake based discovery methods into two
+distinct classes in the backend. This allows using
+`dependency.get_variable()` and `dependency.get_pkg_config_variable()`, as
+well as being a cleaner implementation.