Freigeben über


Konfiguration für binäre Zwischenspeicherung

Konfigurationssyntax

Die binäre Zwischenspeicherung ist mit der Umgebungsvariablen VCPKG_BINARY_SOURCES (auf <source>;<source>;...) und der Befehlszeilenoption --binarysource=<source>konfiguriert. Optionen werden zuerst aus der Umgebung und dann über die Befehlszeile ausgewertet. Die binäre Zwischenspeicherung kann vollständig deaktiviert werden, indem sie als letzte Befehlszeilenoption übergeben --binarysource=clear wird.

Formular Beschreibung
clear Alle vorherigen Quellen deaktivieren (einschließlich der Standardeinstellung)
default[,<rw>] Fügt den Standarddateienanbieter hinzu.
files,<absolute path>[,<rw>] Fügt einen dateibasierten Speicherort hinzu.
nuget,<uri>[,<rw>] Fügt eine NuGet-basierte Quelle hinzu; entspricht dem -Source Parameter der NuGet CLI
nugetconfig,<path>[,<rw>] Fügt eine NuGet-config-file-basierte Quelle hinzu; entspricht dem -Config Parameter der NuGet CLI.
nugettimeout,<seconds> Gibt ein Timeout für NuGet-Netzwerkvorgänge an; entspricht dem -Timeout Parameter der NuGet CLI.
http,<url_template>[,<rw>[,<header>]] Fügt einen benutzerdefinierten http-basierten Speicherort hinzu.
x-azblob,<baseuri>,<sas>[,<rw>] Experimentell: wird ohne Warnung geändert oder entfernt.
Fügt eine Azure Blob Storage-Quelle mithilfe einer Freigegebenen Zugriffssignatur hinzu
x-gcs,<prefix>[,<rw>] Experimentell: wird ohne Warnung geändert oder entfernt.
Fügt eine Google Cloud Storage (GCS)-Quelle hinzu.
x-aws,<prefix>[,<rw>] Experimentell: wird ohne Warnung geändert oder entfernt.
Fügt eine AWS S3-Quelle hinzu.
x-aws-config,<parameter> Experimentell: wird ohne Warnung geändert oder entfernt.
Konfigurieren Sie alle AWS S3-Anbieter.
x-cos,<prefix>[,<rw>] Experimentell: wird ohne Warnung geändert oder entfernt.
Fügt eine Tencent Cloud Object Storage-Quelle hinzu.
x-gha,<rw>] Experimentell: wird ohne Warnung geändert oder entfernt.
Verwenden Sie den GitHub Actions-Cache als Quelle.
x-az-universal,<organization>,<project>,<feed>[,<rw>] Experimentell: wird ohne Warnung geändert oder entfernt.
Verwenden Sie universelle Pakete in Azure Artifacts als Quelle.
interactive Aktiviert die interaktive Verwaltung von Anmeldeinformationen für NuGet (für das Debuggen; erfordert --debug in der Befehlszeile)

Der <rw> optionale Parameter für bestimmte Quellen steuert, ob sie zum Herunterladen von Binärdateien (read)(Standard) konsultiert werden, ob On-Demand-Builds in diese Remoteversion () oder beides (writereadwrite) hochgeladen werden.

Anbieter

AWS S3-Anbieter

Hinweis

In diesem Abschnitt wird ein experimentelles Feature von vcpkg behandelt, das jederzeit geändert oder entfernt werden kann.

x-aws,<prefix>[,<rw>]

Fügen Sie eine AWS S3-Quelle mithilfe der AWS CLI hinzu. <Präfix> sollte mit s3:// und enden in einem /.

x-aws-config,no-sign-request

Übergeben Sie --no-sign-request die AWS CLI.

Azure Blob Storage-Anbieter

Hinweis

In diesem Abschnitt wird ein experimentelles Feature von vcpkg behandelt, das jederzeit geändert oder entfernt werden kann.

x-azblob,<baseuri>,<sas>[,<rw>]

Fügt einen Azure Blob Storage-Anbieter mithilfe der Überprüfung der Signatur für gemeinsame Zugriffe hinzu. <baseuri> sollte den Containerpfad enthalten.

Schnellstart

Zunächst müssen Sie ein Azure Storage-Konto sowie einen Container erstellen. Anweisungen finden Sie in der Azure Storage-Schnellstartdokumentation .

Als Nächstes müssen Sie eine Freigegebene Zugriffssignatur (SHARED Access Signature , SAS) erstellen, die über das Speicherkonto unter "Einstellungen –>Shared Access Signature" erfolgen kann. Diese SAS benötigt Folgendes:

  • Zulässige Dienste: Blob
  • Zulässige Ressourcentypen: Objekt
  • Zulässige Berechtigungen: Lesen (bei Verwendung read) oder "Lesen", "Erstellen " (sofern verwendet write oder readwrite)

Der Blob-Endpunkt plus der Container muss als <baseuri> das generierte SAS ohne das ? Präfix übergeben werden.<sas>

Beispiel:

x-azblob,https://<storagename>.blob.core.windows.net/<containername>,sv=2019-12-12&ss=b&srt=o&sp=rcx&se=2020-12-31T06:20:36Z&st=2020-12-30T22:20:36Z&spr=https&sig=abcd,readwrite

vcpkg versucht jedoch, die SAS während normaler Vorgänge zu vermeiden:

  1. Sie wird vollständig gedruckt, wenn --debug sie übergeben wird.
  2. Sie wird als Befehlszeilenparameter an Unterprozesse übergeben, z. B. curl.exe

Azure Blob Storage enthält ein Feature zum Entfernen von Cacheeinträgen, auf die in einer bestimmten Anzahl von Tagen nicht zugegriffen wurde, die zum automatischen Verwalten der Größe Ihres Binärcaches verwendet werden können. Weitere Informationen finden Sie unter Data Lifecycle Management auf Microsoft-Dokumentation, oder suchen Sie im Azure-Portal nach Data Management ->Lifecycle Management für Ihr Speicherkonto.

Tencent Cloud Object Storage-Anbieter

Hinweis

In diesem Abschnitt wird ein experimentelles Feature von vcpkg behandelt, das jederzeit geändert oder entfernt werden kann.

x-cos,<prefix>[,<rw>]

Fügt eine COS-Quelle hinzu. <prefix> sollte mit cos:// und enden mit /.

Dateianbieter

files,<absolute path>[,<rw>]

Speichert zipkomprimierte Archive auf dem Pfad basierend auf der binären Zwischenspeicherungs-ID.

Google Cloud Storage-Anbieter

Hinweis

In diesem Abschnitt wird ein experimentelles Feature von vcpkg behandelt, das jederzeit geändert oder entfernt werden kann.

x-gcs,<prefix>[,<rw>]

Fügt einen Google Cloud Storage-Anbieter hinzu. <prefix> sollte mit gs:// und enden mit /.

Schnellstart

Zunächst müssen Sie ein Google Cloud Platform-Konto sowie einen Speicher-Bucket (GCS Quick Start) erstellen.

Im Rahmen dieser Schnellstartanleitung hätten Sie das Befehlszeilentool für die gsutil Authentifizierung bei Google Cloud konfiguriert. vcpkg verwendet dieses Befehlszeilentool. Stellen Sie daher sicher, dass es sich in Ihrem Suchpfad für ausführbare Dateien befindet.

Beispiel 1 (Verwenden eines Buckets ohne allgemeines Präfix für die Objekte):

x-gcs,gs://<bucket-name>/,readwrite

Beispiel 2 (Verwenden eines Buckets und eines Präfixes für die Objekte):

x-gcs,gs://<bucket-name>/my-vcpkg-cache/maybe/with/many/slashes/,readwrite
x-gcs,gs://<bucket-name>/my-vcpkg-cache/maybe/with`,commas/too!/,readwrite

Kommas (,) sind als Teil eines Objektpräfixes in GCS gültig. Denken Sie daran, sie in der vcpkg-Konfiguration zu escapen, wie im vorherigen Beispiel gezeigt. GCS verfügt nicht über Ordner (einige der GCS-Tools simulieren Ordner). Es ist nicht erforderlich, das präfix zu erstellen oder anderweitig zu bearbeiten, das vom vcpkg-Cache verwendet wird.

GitHub-Aktionen-Cache

Hinweis

In diesem Abschnitt wird ein experimentelles Feature von vcpkg behandelt, das jederzeit geändert oder entfernt werden kann.

x-gha[,<rw>]

Fügt den GitHub Actions-Cache als Anbieter hinzu. Dieser Binäre Cacheanbieter ist nur im Kontext eines GitHub Actions-Workflows gültig. Für diesen Anbieter müssen sowohl die Variablen als ACTIONS_RUNTIME_TOKEN auch die ACTIONS_CACHE_URL Umgebungsvariablen festgelegt werden. Das ordnungsgemäße Festlegen dieser Umgebungsvariablen wird im folgenden Schnellstartabschnitt behandelt.

Schnellstart

Damit vcpkg den GitHub-Aktionscache verwenden kann, benötigt es die Cache-URL und das Laufzeittoken für Aktionen. Dazu sollten beide Werte in einem Workflowschritt wie folgt als Umgebungsvariablen exportiert werden:

- uses: actions/github-script@v7
  with:
    script: |
      core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
      core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');

Die Angabe dieser Werte als Umgebungsvariablen anstelle von vcpkg-Befehlszeilenargumenten ist beabsichtigt, da der Binäre Cache-Anbieter von GitHub-Aktionen nur von einem GitHub-Aktionsworkflow verwendet werden kann.

Nachdem die Umgebungsvariablen exportiert wurden, kann vcpkg mit dem Binären Zwischenspeicherungsanbieter für GitHub-Aktionen wie folgt ausgeführt werden:

- name: Install dependencies via vcpkg
  run: vcpkg install zlib --binarysource="clear;x-gha,readwrite"

Universelle Pakete in Azure Artifacts

Hinweis

In diesem Abschnitt wird ein experimentelles Feature von vcpkg behandelt, das jederzeit geändert oder entfernt werden kann.

x-az-universal,<organization>,<project>,<feed>[,<rw>]

Fügt universelle Pakete in Azure Artifacts als Anbieter hinzu.

Schnellstart

Zuerst müssen Sie den Feed "Universelle Pakete" erstellen. Anweisungen finden Sie in der Schnellstartanleitung für universelle Pakete.

Als Nächstes müssen Sie Azure CLI installieren und authentifizieren. Anweisungen finden Sie im Leitfaden zur Authentifizierung bei Azure CLI. vcpkg verwendet dieses Befehlszeilentool. Stellen Sie daher sicher, dass es sich in Ihrem Suchpfad für ausführbare Dateien befindet.

Beispiel:

x-az-universal,organization_url,project_name,feed_name,readwrite

Stellen Sie den project_name Parameter bereit, um den vcpkg-Download zu erstellen und universelle Pakete in Ihrem Feed in einem Projektbereich zu veröffentlichen.

x-az-universal,organization_url,,feed_name,readwrite

Lassen Sie den project_name Parameter leer, um den vcpkg-Download zu machen und universelle Pakete in Ihrem Feed in einem Organisationsbereich zu veröffentlichen.

HTTP-Anbieter

http,<url_template>[,<rw>[,<header>]]

Jeder binäre Zwischenspeicherungsvorgang wird einem HTTP-Verb zugeordnet:

  • Herunterladen- GET
  • Hochladen- PUT
  • Überprüfen des Vorhandenseins - HEAD

URL-Vorlage

Die Vorlage verwendet geschweifte Klammern für die variable Erweiterung. Sie können die Variablen 'name', 'version', 'sha' und 'triplet' verwenden. Zum Beispiel:

https://cache.example.com/{name}/{version}/{sha}

Warnung

Dieser Wert kann in der Befehlszeile externer Prozessaufrufe angezeigt werden, die sicherheitsrelevante Auswirkungen in Ihrer Umgebung haben können.

Die Authentifizierung wird durch Angeben eines HTTP-Autorisierungsheaders unterstützt. Zum Beispiel:

http,https://cache.example.com/{name}/{version}/{sha},readwrite,Authorization: Bearer BearerTokenValue

NuGet-Anbieter

Fügen Sie einen NuGet-Server mit dem -Source NuGet CLI-Parameter hinzu:

nuget,<uri>[,<rw>]

Verwenden Sie eine NuGet-Konfigurationsdatei mit dem -Config NuGet CLI-Parameter:

nugetconfig,<path>[,<rw>]

Konfigurieren des Timeouts für NuGet-Quellen:

nugettimeout,<seconds>

Konfigurationsdateien müssen ein defaultPushSource Objekt definieren, das das Schreiben von Paketen zurück in den Feed unterstützt.

Anmeldeinformationen

Viele NuGet-Server erfordern zusätzliche Anmeldeinformationen für den Zugriff. Die flexibelste Methode zum Angeben von Anmeldeinformationen ist die nugetconfig Quelle mit einer benutzerdefinierten nuget.config Datei. Weitere Informationen finden Sie unter "Verwenden von Paketen aus authentifizierten Feeds ".

Es ist jedoch weiterhin möglich, sich bei vielen Servern mit den integrierten Anmeldeinformationsanbietern von NuGet oder über das Anpassen der Standardeinstellung nuget.configIhrer Umgebung zu authentifizieren. Die Standardkonfiguration kann über Nuget-Clientaufrufe erweitert werden, z. B.:

nuget sources add -Name MyRemote -Source https://... -Username $user -Password $pass

und dann über vcpkg an nuget,MyRemote,readwritevcpkg übergeben. Sie können einen Pfad zur genauen Kopie von NuGet abrufen, die von vcpkg verwendet wird, indem Sie ausgeführt vcpkg fetch nugetwerden, was etwas wie folgt meldet:

$ vcpkg fetch nuget
/vcpkg/downloads/tools/nuget-5.5.1-linux/nuget.exe

Nicht-Windows-Benutzer müssen dies über Mono über mono /path/to/nuget.exe sources add ....

metadata.repository

Die nuget Anbieter und nugetconfig Quellanbieter respektieren bestimmte Umgebungsvariablen beim Generieren von Nuget-Paketen. Das metadata.repository Feld aller Pakete wird generiert als:

    <repository type="git" url="${VCPKG_NUGET_REPOSITORY}"/>

or

    <repository type="git"
                url="${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git"
                branch="${GITHUB_REF}"
                commit="${GITHUB_SHA}"/>

wenn die entsprechenden Umgebungsvariablen definiert und nicht leer sind. Dies wird speziell verwendet, um Pakete in GitHub-Paketen dem Gebäudeprojekt zuzuordnen und nicht für die Zuordnung der ursprünglichen Paketquellen vorgesehen.

NuGet-Cache

Der benutzerweite Cache von NuGet wird standardmäßig nicht verwendet. Um sie für jede nuget-basierte Quelle zu verwenden, legen Sie die UmgebungsvariableVCPKG_USE_NUGET_CACHE auf true (Groß-/Kleinschreibung) oder 1.

Anbieterbeispiele

Wenn Ihr CI-System der Wahl nicht aufgeführt ist, können Sie gerne eine PR einreichen, um es hinzuzufügen!

GitHub Packages

Um vcpkg mit GitHub-Paketen zu verwenden, empfiehlt es sich, den NuGet-Anbieter zu verwenden.

Hinweis

2020-09-21: Die gehosteten GitHub-Agents verfügen über eine ältere, vorinstallierte Kopie von vcpkg auf dem Pfad, der die neueste binäre Zwischenspeicherung nicht unterstützt. Dies bedeutet, dass direkte Aufrufe an bootstrap-vcpkg oder vcpkg ohne Pfadpräfix eine unbeabsichtigte vcpkg-Instanz aufrufen können. Wenn Sie Ihre eigene Kopie von vcpkg verwenden möchten, führen Sie die folgenden beiden Schritte aus, um Probleme zu vermeiden, wenn Sie Ihre eigene Kopie von vcpkg verwenden möchten:

  1. Führen Sie das Äquivalent der Verwendung shell: 'bash'ausrm -rf "$VCPKG_INSTALLATION_ROOT".
  2. vcpkg Rufen Sie immer und bootstrap-vcpkg mit einem Pfadpräfix auf, z./vcpkg. B. , vcpkg/vcpkg, .\bootstrap-vcpkg.batusw.
# actions.yaml
#
# In this example, vcpkg has been added as a submodule (`git submodule add https://github.com/Microsoft/vcpkg`).
env:
  VCPKG_BINARY_SOURCES: 'clear;nuget,GitHub,readwrite'

matrix:
  os: ['windows-2019', 'ubuntu-20.04']
  include:
    - os: 'windows-2019'
      triplet: 'x86-windows'
      mono: ''
    - os: 'ubuntu-20.04'
      triplet: 'x64-linux'
      # To run `nuget.exe` on non-Windows platforms, `mono` must be used.
      mono: 'mono'

steps:
  # This step assumes `vcpkg` has been bootstrapped (run `./vcpkg/bootstrap-vcpkg`)
  - name: 'Setup NuGet Credentials'
    shell: 'bash'
    # Replace <OWNER> with your organization name
    run: |
      ${{ matrix.mono }} `./vcpkg/vcpkg fetch nuget | tail -n 1` \
        sources add \
        -source "https://nuget.pkg.github.com/<OWNER>/index.json" \
        -storepasswordincleartext \
        -name "GitHub" \
        -username "<OWNER>" \
        -password "${{ secrets.GITHUB_TOKEN }}"
      ${{ matrix.mono }} `./vcpkg/vcpkg fetch nuget | tail -n 1` \
        setapikey "${{ secrets.GITHUB_TOKEN }}" \
        -source "https://nuget.pkg.github.com/<OWNER>/index.json"

  # Omit this step if you're using manifests
  - name: 'vcpkg package restore'
    shell: 'bash'
    run: >
      ./vcpkg/vcpkg install sqlite3 cpprestsdk --triplet ${{ matrix.triplet }}

Wenn Sie Manifeste verwenden, können Sie den vcpkg package restore Schritt weglassen: Er wird automatisch als Teil Ihres Builds ausgeführt.

Weitere Informationen finden Sie in der NuGet-Dokumentation von GitHub-Paketen.

Azure DevOps Artefakte

Um vcpkg mit Azure DevOps Artifacts zu verwenden, empfiehlt es sich, den NuGet-Anbieter zu verwenden.

Stellen Sie zunächst sicher, dass Artefakte für Ihr DevOps-Konto aktiviert wurden. Ein Administrator kann dies über project Settings ->General -Overview ->>Azure DevOps Services>Artifacts aktivieren.

Erstellen Sie als Nächstes einen Feed für Ihr Projekt. Ihre Feed-URL ist ein https:// Link, der mit /nuget/v3/index.json. Weitere Informationen finden Sie in der Dokumentation zu Azure DevOps Artifacts.

Verwenden des Feeds aus einer Pipeline

# azure-pipelines.yaml
variables:
- name: VCPKG_BINARY_SOURCES
  value: 'clear;nuget,<FEED_URL>,readwrite'

steps:
# Remember to add this task to allow vcpkg to upload archives via NuGet
- task: NuGetAuthenticate@0

Wenn Sie benutzerdefinierte Agents mit einem Nicht-Windows-Betriebssystem verwenden, müssen Sie Mono zum Ausführen nuget.exe (apt install mono-complete, brew install monousw.) installieren.

Lokales Verwenden des Feeds

# On Windows Powershell
PS> & $(vcpkg fetch nuget | select -last 1) sources add `
  -name ADO `
  -Source https://pkgs.dev.azure.com/$ORG/_packaging/$FEEDNAME/nuget/v3/index.json `
  -Username $USERNAME `
  -Password $PAT
PS> $env:VCPKG_BINARY_SOURCES="nuget,ADO,readwrite"
# On Linux or OSX
$ mono `vcpkg fetch nuget | tail -n1` sources add \
  -name ADO \
  -Source https://pkgs.dev.azure.com/$ORG/_packaging/$FEEDNAME/nuget/v3/index.json \
  -Username $USERNAME \
  -Password $PAT
$ export VCPKG_BINARY_SOURCES="nuget,ADO,readwrite"

Verwenden Sie ein persönliches Zugriffstoken (PAT) als Kennwort für maximale Sicherheit. Sie können einen PAT in den Benutzereinstellungen ->Persönliche Zugriffstoken oder https://dev.azure.com/<ORG>/_usersSettings/tokens.

ABI-Hash

Hinweis

Informationen zum ABI-Hash werden als Implementierungshinweis bereitgestellt und werden ohne Vorheriges geändert.

Für jeden Build berechnet vcpkg einen ABI-Hash , um die Äquivalenz zu bestimmen. Wenn zwei Builds den gleichen ABI-Hash haben, berücksichtigt vcpkg sie identisch und verwendet die Binärdateien auf allen Projekten und Computern wieder.

Der ABI-Hash berücksichtigt Folgendes:

  • Jede Datei im Portverzeichnis
  • Der Dreifachdateiinhalt und -name
  • Die ausführbare C++-Compilerdatei
  • Die ausführbare C-Compilerdatei
  • Die gruppe der ausgewählten Features
  • Der ABI-Hash jeder Abhängigkeit
  • Alle Hilfsfunktionen, auf die verwiesen wird portfile.cmake (heuristisch)
  • Die verwendete Version von CMake
  • Der Inhalt aller Umgebungsvariablen, die in VCPKG_ENV_PASSTHROUGH
  • Der Textinhalt der Toolkettedatei (VCPKG_CHAINLOAD_TOOLCHAIN_FILE)
  • Das GRDK-Toolkit (nur bei Der Ausrichtung auf die Xbox-Plattform)

Trotz dieser umfangreichen Liste ist es möglich, den Cache zu besiegen und nichtdeterminismus einzuführen. Wenn Sie zusätzliche Details haben, die Sie für Ihre Umgebung nachverfolgen müssen, können Sie eine Tripletdatei mit ihren zusätzlichen Informationen in einem Kommentar generieren. Diese zusätzlichen Informationen werden im ABI-Hash enthalten sein und ein einzigartiges Universum von Binärdateien sicherstellen.

Benannte .DS_Store Dateien werden für den ABI-Hash nicht berücksichtigt.

Die berechneten ABI-Hashes werden in jedem Paket und im aktuellen installierten Verzeichnis zur /share/<port>/vcpkg_abi_info.txt Überprüfung gespeichert.

Beispiel für ABI-Hash von zlib

Aktivieren Sie die Debugausgabe , um den vollständigen ABI-Hash (Application Binary Interface) einer Pacakge zu drucken. Für zlib:

[DEBUG] Trying to hash <path>\buildtrees\zlib\x86-windows.vcpkg_abi_info.txt
[DEBUG] <path>\buildtrees\zlib\x86-windows.vcpkg_abi_info.txt has hash bb1c96759ac96102b4b18215db138daedd3eb16c2cd3302ae7bffab2b643eb87

Der ABI-Hash bb1c96759ac96102b4b18215db138daedd3eb16c2cd3302ae7bffab2b643eb87 für die Paket-Zlib wird durch Hashing aller möglichen relevanten Informationen erstellt, um binäre Pakete zu unterscheiden.

Die Version des Compilers ist Teil des ABI-Hashs und wird unten berechnet:

[DEBUG] -- The C compiler identification is MSVC 19.36.32538.0
[DEBUG] -- The CXX compiler identification is MSVC 19.36.32538.0
[DEBUG] #COMPILER_HASH#f5d02a6542664cfbd4a38db478133cbb1a18f315

Relevante Dateien, Compiler- und Toolversionsinformationen werden hashed, um den endgültigen ABI-Hash zu berechnen:

[DEBUG] <abientries for zlib:x86-windows>
[DEBUG]   0001-Prevent-invalid-inclusions-when-HAVE_-is-set-to-0.patch|750b9542cb55e6328cca01d3ca997f1373b9530afa95e04213168676936e7bfa
[DEBUG]   0002-skip-building-examples.patch|835ddecfed752e0f49be9b0f8ff7ba76541cb0a150044327316e22ca84f8d0c2
[DEBUG]   0003-build-static-or-shared-not-both.patch|d6026271dcb3d8fc74b41e235620ae31576a798e77aa411c3af8cd9e948c02b1
[DEBUG]   0004-android-and-mingw-fixes.patch|37a43eddbcb1b7dde49e7659ae895dfd0ff1df66666c1371ba7d5bfc49d8b438
[DEBUG]   cmake|3.26.2
[DEBUG]   features|core
[DEBUG]   portfile.cmake|ac63047b644fa758860dd7ba48ff9a13b058c6f240b8e8d675b8fbba035976be
[DEBUG]   ports.cmake|5a8e00cedff0c898b1f90f7d129329d0288801bc9056562b039698caf31ff3f3
[DEBUG]   post_build_checks|2
[DEBUG]   powershell|7.3.6
[DEBUG]   triplet|x86-windows
[DEBUG]   triplet_abi|3e71dd1d4afa622894ae367adbbb1ecbd42c57c51428a86b675fa1c8cad3a581-36b818778ba6f2c16962495caedb9a7b221d5be4c60de1cd3060f549319a9931-f5d02a6542664cfbd4a38db478133cbb1a18f315
[DEBUG]   usage|be22662327df993eebc437495add75acb365ab18d37c7e5de735d4ea4f5d3083
[DEBUG]   vcpkg-cmake|1b3dac4b9b0bcbef227c954b495174863feebe3900b2a6bdef0cd1cf04ca1213
[DEBUG]   vcpkg-cmake-wrapper.cmake|5d49ef2ee6448479c2aad0e5f732e2676eaba0411860f9bebabe6002d66f57d1
[DEBUG]   vcpkg.json|bc94e2540efabe36130a806381a001c57194e7de67454ab7ff1e30aa15e6ce23
[DEBUG]   vcpkg_copy_pdbs|d57e4f196c82dc562a9968c6155073094513c31e2de475694143d3aa47954b1c
[DEBUG]   vcpkg_fixup_pkgconfig|588d833ff057d3ca99c14616c7ecfb5948b5e2a9e4fc02517dceb8b803473457
[DEBUG]   vcpkg_from_git|8f27bff0d01c6d15a3e691758df52bfbb0b1b929da45c4ebba02ef76b54b1881
[DEBUG]   vcpkg_from_github|b743742296a114ea1b18ae99672e02f142c4eb2bef7f57d36c038bedbfb0502f
[DEBUG]   vcpkg_replace_string|d43c8699ce27e25d47367c970d1c546f6bc36b6df8fb0be0c3986eb5830bd4f1
[DEBUG] </abientries>

Hinweis

Der triplet_abi Eintrag enthält drei Hashes: den Hash des Dateiinhalts des x86-windows Triplets, der windows.cmake Toolkette und des Compilerhashs. Diese Hashes würden sich ändern, wenn Sie sich für eine andere Plattform entschieden haben.