Abhängigkeitsobjekt (dep)

Abstrakte Darstellung einer Abhängigkeit

Zurückgegeben von

Abhängigkeitsobjekte werden von den folgenden Funktionen und Methoden zurückgegeben

Methoden des Abhängigkeitsobjekts

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 dependency().

[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: ['prefix', '/']).

(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
)
Warnung

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 cmake, pkgconfig, configtool, internal und system verwendet. Es ist nützlich in dem häufigen Fall, dass pkgconfig und internal denselben Variablennamen verwenden, in diesem Fall ist es einfacher, dep.get_variable('foo') anstelle von dep.get_variable(pkgconfig: 'foo', internal: 'foo') zu schreiben.

(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]

Siehe dep.get_pkgconfig_variable()

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
)
Warnung

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

Standard = false

includes bool

Ob includes eingeschlossen werden soll

Standard = false

sources bool

Ob sources eingeschlossen werden soll

Standard = false


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