aboutsummaryrefslogtreecommitdiff
path: root/docs/markdown/Dependencies.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/markdown/Dependencies.md')
-rw-r--r--docs/markdown/Dependencies.md45
1 files changed, 34 insertions, 11 deletions
diff --git a/docs/markdown/Dependencies.md b/docs/markdown/Dependencies.md
index 8e8ce2f..a811784 100644
--- a/docs/markdown/Dependencies.md
+++ b/docs/markdown/Dependencies.md
@@ -111,24 +111,31 @@ of all the work behind the scenes to make this work.
# Dependencies with custom lookup functionality
-## Dependencies using config tools
+Some dependencies have specific detection logic.
+
+In some cases, more than one detection method exists, and the `method` keyword
+may be used to select a detection method to use. The `auto` method uses any
+checking mechanisms in whatever order meson thinks is best.
-CUPS, [LLVM](#llvm), PCAP, [WxWidgets](#wxwidgets), libwmf, and GnuStep either do not
-provide pkg-config modules or additionally can be detected via a config tool
-(cups-config, llvm-config, etc). Meson has native support for these tools, and
-they can be found like other dependencies:
+e.g. libwmf and CUPS provide both pkg-config and config-tool support. You can
+force one or another via the `method` keyword:
```meson
-pcap_dep = dependency('pcap', version : '>=1.0')
-cups_dep = dependency('cups', version : '>=1.4')
-llvm_dep = dependency('llvm', version : '>=4.0')
+cups_dep = dependency('cups', method : 'pkg-config')
+wmf_dep = dependency('libwmf', method : 'config-tool')
```
-Some of these tools (like wmf and cups) provide both pkg-config and config
-tools support. You can force one or another via the method keyword:
+## Dependencies using config tools
+
+[CUPS](#cups), [LLVM](#llvm), PCAP, [WxWidgets](#wxwidgets), libwmf, and GnuStep
+either do not provide pkg-config modules or additionally can be detected via a
+config tool (cups-config, llvm-config, etc). Meson has native support for these
+tools, and they can be found like other dependencies:
```meson
-wmf_dep = dependency('libwmf', method : 'config-tool')
+pcap_dep = dependency('pcap', version : '>=1.0')
+cups_dep = dependency('cups', version : '>=1.4')
+llvm_dep = dependency('llvm', version : '>=4.0')
```
## AppleFrameworks
@@ -139,6 +146,8 @@ Use the `modules` keyword to list frameworks required, e.g.
dep = find_dep('appleframeworks', modules : 'foundation')
```
+These dependencies can never be found for non-OSX hosts.
+
## Boost
Boost is not a single dependency but rather a group of different
@@ -168,10 +177,16 @@ environment variables.
You can set the argument `threading` to `single` to use boost libraries that
have been compiled for single-threaded use instead.
+## CUPS
+
+`method` may be `auto`, `config-tool`, `pkg-config` or `extraframework`.
+
## GL
This finds the OpenGL library in a way appropriate to the platform.
+`method` may be `auto`, `pkg-config` or `system`.
+
## GTest and GMock
GTest and GMock come as sources that must be compiled as part of your
@@ -252,6 +267,8 @@ Note that `python3` found by this dependency might differ from the one used in
`python3` module because modules uses the current interpreter, but dependency tries
`pkg-config` first.
+`method` may be `auto`, `extraframework`, `pkg-config` or `sysconfig`
+
## Qt4 & Qt5
Meson has native Qt support. Its usage is best demonstrated with an
@@ -291,11 +308,15 @@ include path of the given module(s) to the compiler flags. (since v0.47.0)
**Note** using private headers in your project is a bad idea, do so at your own
risk.
+`method` may be `auto`, `pkgconfig` or `qmake`.
+
## SDL2
SDL2 can be located using `pkg-confg`, the `sdl2-config` config tool, or as an
OSX framework.
+`method` may be `auto`, `config-tool`, `extraframework` or `pkg-config`.
+
## Threads
This dependency selects the appropriate compiler flags and/or libraries to use
@@ -312,6 +333,8 @@ and avoids trying to link with it's non-PIC static libs.
Vulkan can be located using `pkg-config`, or the `VULKAN_SDK` environment variable.
+`method` may be `auto`, `pkg-config` or `system`.
+
## WxWidgets
Similar to [Boost](#boost), WxWidgets is not a single library but rather