Abhängigkeitsobjekt (dep)
Abstrakte Darstellung einer Abhängigkeit
Zurückgegeben von
Abhängigkeitsobjekte werden von den folgenden Funktionen und Methoden zurückgegeben
declare_dependency()dependency()compiler.find_library()dep.as_link_whole()dep.as_shared()dep.as_static()dep.as_system()dep.partial_dependency()
Methoden des Abhängigkeitsobjekts
dep.as_link_whole()
Nur für Abhängigkeiten, die mit declare_dependency() erstellt wurden. Gibt eine Kopie des Abhängigkeitsobjekts zurück, bei der alle `link_with`-Argumente auf `link_whole` geändert wurden. Dies ist beispielsweise nützlich für eine Fallback-Abhängigkeit aus einem Unterprojekt, das mit default_library=static erstellt wurde. Beachten Sie, dass alle link_with-Objekte statische Bibliotheken sein müssen, andernfalls wird ein Fehler ausgelöst, wenn versucht wird, eine freigegebene Bibliothek als link_whole zu verknüpfen.
Signatur
(seit 0.56.0)
dep as_link_whole()
dep.as_shared()
Nur für Abhängigkeiten, die mit declare_dependency() erstellt wurden. Gibt eine Kopie des Abhängigkeitsobjekts zurück, die die shared-Version von both_libraries() bevorzugt.
Signatur
(seit 1.6.0)
# Only for dependencies created with declare_dependency(),
dep as_shared(
recursive : bool # If true, this is recursively applied to dependencies
)
Argumente
Die Methode dep.as_shared() akzeptiert die folgenden Schlüsselwortargumente
| Name | Typ | Beschreibung | Schlagwörter |
|---|---|---|---|
rekursiv |
bool |
Wenn wahr, wird dies rekursiv auf Abhängigkeiten angewendet |
|
dep.as_static()
Nur für Abhängigkeiten, die mit declare_dependency() erstellt wurden. Gibt eine Kopie des Abhängigkeitsobjekts zurück, die die static-Version von both_libraries() bevorzugt.
Signatur
(seit 1.6.0)
# Only for dependencies created with declare_dependency(),
dep as_static(
recursive : bool # If true, this is recursively applied to dependencies
)
Argumente
Die Methode dep.as_static() akzeptiert die folgenden Schlüsselwortargumente
| Name | Typ | Beschreibung | Schlagwörter |
|---|---|---|---|
rekursiv |
bool |
Wenn wahr, wird dies rekursiv auf Abhängigkeiten angewendet |
|
dep.as_system()
Gibt eine Kopie des Abhängigkeitsobjekts zurück, bei der der Wert von include_type auf value geändert wurde. Das Argument value ist optional und hat standardmäßig 'preserve'.
Signatur
(seit 0.52.0)
# Returns a copy of the dependency object, which has changed the value of `include_type`
dep as_system(
str [value], # The new value. See dependency() for supported values.
)
Argumente
Die Methode dep.as_system() akzeptiert die folgenden positionsabhängigen Argumente
| Name | Typ | Beschreibung | Schlagwörter |
|---|---|---|---|
value |
str |
Der neue Wert. Unterstützte Werte finden Sie unter |
[optional] |
dep.found()
Gibt zurück, ob die Abhängigkeit gefunden wurde.
Signatur
bool found()
dep.get_configtool_variable()
Ruft das Kommandozeilenargument vom Konfigurationstool ab (mit vorangestelltem --) oder schlägt fehl, wenn es auf eine Nicht-Konfigurationstool-Abhängigkeit angewendet wird.
Signatur
(seit 0.44.0)
VERALTET
in 0.56.0
# Gets the command line argument from the config tool (with `--` prepended), or,
str get_configtool_variable(
str var_name, # Name of the variable to query
)
Argumente
Die Methode dep.get_configtool_variable() akzeptiert die folgenden positionsabhängigen Argumente
| Name | Typ | Beschreibung | Schlagwörter |
|---|---|---|---|
var_name |
str |
Name der abzufragenden Variable |
|
dep.get_pkgconfig_variable()
Ruft die angegebene pkg-config-Variable ab oder schlägt fehl, wenn sie auf eine Nicht-pkg-config-Abhängigkeit angewendet wird.
Signatur
(seit 0.36.0)
VERALTET
in 0.56.0
# Gets the pkg-config variable specified,
str get_pkgconfig_variable(
str var_name, # Name of the variable to query
# Keyword arguments:
default : str # The value to return if the variable was not found
define_variable : list[str] # You can also redefine a
)
Argumente
Die Methode dep.get_pkgconfig_variable() akzeptiert die folgenden positionsabhängigen Argumente
| Name | Typ | Beschreibung | Schlagwörter |
|---|---|---|---|
var_name |
str |
Name der abzufragenden Variable |
|
Schließlich akzeptiert dep.get_pkgconfig_variable() die folgenden Schlüsselwortargumente
| Name | Typ | Beschreibung | Schlagwörter |
|---|---|---|---|
default |
str |
Der Wert, der zurückgegeben wird, wenn die Variable nicht gefunden wurde. Eine Warnung wird ausgegeben, wenn die Variable nicht definiert ist und dieses Schlüsselwortargument nicht gesetzt ist. |
(seit 0.45.0) |
define_variable |
list[str] |
Sie können eine Variable auch neu definieren, indem Sie eine Liste an dieses Schlüsselwortargument übergeben, die die abgerufene Variable beeinflussen kann: (Seit 1.3.0) Mehrere Variablen können paarweise angegeben werden. |
(seit 0.44.0) |
dep.get_variable()
Eine generische Variablenabruf-Methode, die die Methoden get_*type*_variable ersetzt. Dies ermöglicht es, die Variable aus einer Abhängigkeit abzurufen, ohne spezifisch zu wissen, wie diese Abhängigkeit gefunden wurde. Wenn default_value gesetzt ist und der Wert nicht vom Objekt abgerufen werden kann, wird default_value zurückgegeben; wenn er nicht gesetzt ist, wird ein Fehler ausgelöst.
Signatur
(seit 0.51.0)
# A generic variable getter method, which replaces the
str get_variable(
str [varname], # This argument is used as a default value
# Keyword arguments:
cmake : str # The CMake variable name
configtool : str # The configtool variable name
default_value : str # The default value to return when the variable does not exist
internal : str # The internal variable name
pkgconfig : str # The pkgconfig variable name
pkgconfig_define : list[str] # See dep.get_pkgconfig_variable()
system : str # The system variable name
)
Vor 1.3.0 führte die Angabe mehrerer pkgconfig_define-Paare stillschweigend zu falsch formatierten Ergebnissen. Nur die erste Variable würde neu definiert werden, aber ihr Wert würde sowohl den Namen der zweiten Variablen als auch ihren Wert enthalten.
Argumente
Die Methode dep.get_variable() akzeptiert die folgenden positionsabhängigen Argumente
| Name | Typ | Beschreibung | Schlagwörter |
|---|---|---|---|
varname |
str |
Dieses Argument wird als Standardwert für die Schlüsselwortargumente |
(seit 0.58.0) [optional] |
Schließlich akzeptiert dep.get_variable() die folgenden Schlüsselwortargumente
| Name | Typ | Beschreibung | Schlagwörter |
|---|---|---|---|
cmake |
str |
Der Name der CMake-Variable |
|
configtool |
str |
Der Name der Configtool-Variable |
|
default_value |
str |
Der Standardwert, der zurückgegeben wird, wenn die Variable nicht existiert |
|
internal |
str |
Der Name der internen Variable |
(seit 0.54.0) |
pkgconfig |
str |
Der Name der pkg-config-Variable |
|
pkgconfig_define |
list[str] |
|
|
system |
str |
Der Name der Systemvariable |
(seit 1.6.0) |
dep.include_type()
Gibt den mit dem Schlüsselwortargument include_type gesetzten Wert zurück.
Signatur
(seit 0.52.0)
str include_type()
dep.name()
Gibt den Namen der gesuchten Abhängigkeit zurück. Gibt 'internal' für Abhängigkeiten zurück, die mit declare_dependency() erstellt wurden.
HINWEIS: Dies war für dep-Objekte, die von compiler.find_library() zurückgegeben wurden, bis Meson 1.5.0 nicht implementiert.
Signatur
(seit 0.48.0)
str name()
dep.partial_dependency()
Gibt ein neues Abhängigkeitsobjekt mit demselben Namen, derselben Version, demselben gefundenen Status, demselben Typnamen und denselben Methoden wie das aufrufende Objekt zurück. Dieses neue Objekt erbt andere Attribute von seinem übergeordneten Objekt nur gemäß den Vorgaben der Schlüsselwortargumente.
Wenn das übergeordnete Element Abhängigkeiten hat, werden diese mit denselben Regeln auf die neue partielle Abhängigkeit angewendet. Gegeben
dep1 = declare_dependency(compile_args : '-Werror=foo', link_with : 'libfoo')
dep2 = declare_dependency(compile_args : '-Werror=bar', dependencies : dep1)
dep3 = dep2.partial_dependency(compile_args : true)
dep3 wird ['-Werror=foo', '-Werror=bar'] zu den Compiler-Argumenten jedes Ziel hinzugefügt, zu dem es hinzugefügt wird, aber libfoo wird nicht zu den Linker-Argumenten hinzugefügt.
Die folgenden Argumente fügen die folgenden Attribute hinzu
- compile_args: alle an den Compiler übergebenen Argumente
- link_args: alle an den Linker übergebenen Argumente
- links: alles, was über link_with oder link_whole übergeben wurde
- includes: alle Include-Verzeichnisse
- sources: alle kompilierten oder statischen Quellen, die die Abhängigkeit hat
Signatur
(seit 0.46.0)
# Returns a new dependency object with the same name, version, found status,
dep partial_dependency(
compile_args : bool # Whether to include compile_args
includes : bool # Whether to include includes
link_args : bool # Whether to include link_args
links : bool # Whether to include links
sources : bool # Whether to include sources
)
Ein Fehler, der bis 0.50.1 bestand, führte dazu, dass das obige Verhalten nicht korrekt funktionierte.
Argumente
Die Methode dep.partial_dependency() akzeptiert die folgenden Schlüsselwortargumente
| Name | Typ | Beschreibung | Schlagwörter |
|---|---|---|---|
compile_args |
bool |
Ob compile_args eingeschlossen werden soll |
|
includes |
bool |
Ob includes eingeschlossen werden soll |
|
link_args |
bool |
Ob link_args eingeschlossen werden soll |
|
links |
bool |
Ob links eingeschlossen werden soll |
|
sources |
bool |
Ob sources eingeschlossen werden soll |
|
dep.type_name()
Gibt einen String zurück, der den Typ der Abhängigkeit beschreibt. Die häufigsten Werte sind internal für mit declare_dependency() erstellte Abhängigkeiten und pkgconfig für Systemabhängigkeiten, die mit Pkg-config abgerufen wurden.
Signatur
str type_name()
dep.version()
die Versionsnummer als String, z. B. 1.2.8. unknown, wenn der Anbieter der Abhängigkeit die Versionsbestimmung nicht unterstützt.
Signatur
str version()
Die Ergebnisse der Suche sind