diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2021-03-22 15:25:29 -0700 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2021-03-23 15:28:08 -0700 |
commit | c211fea51389728783cf59ae41156a5e0de9c41a (patch) | |
tree | 3269d721c713be5e7cd9d0c3a30e14b20b58e46e /docs | |
parent | 54c55f77a976deb0047a78468250b75525df6514 (diff) | |
download | meson-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.md | 6 |
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. |