Sdílet prostřednictvím


Koncept: Porty

Port v vcpkg je verze recept, který vytváří sadu souborů. Spuštění portu ovlivňuje graf instalace vytvořením nových hlaviček nebo binárních souborů. Porty můžou mít závislosti na jiných portech a můžou vyžadovat další závislosti, pokud jsou některé funkce povolené. Tyto závislosti se musí promítnout do metadat portů. Minimálně port obsahuje:

  • Metadata balíčku: název, verze, podporované funkce, závislosti atd.
  • Pokyny k získání, sestavení v případě potřeby a instalaci balíčku.

Kromě toho můžou porty zahrnovat:

  • Opravy, které se mají použít u zdrojového kódu balíčku
  • Pokyny pro integraci se systémem sestavení projektu

Soubor portu (portfile.cmake)

Všechny porty musí obsahovat soubor portu (soubor s názvem portfile.cmake). Soubor portu je skript, který obsahuje pokyny k sestavení a instalaci balíčku v prostředí vcpkg. Mezi běžné úlohy prováděné soubory portů patří:

  • Stáhněte si zdrojový kód balíčku.
  • Sestavte balíček pomocí upstreamového buildového systému.
  • Zkopírujte výstup sestavení do instalačního stromu vcpkg.
  • Nainstalujte soubory integrace systému sestavení.

vcpkg.json

Tento vcpkg.json soubor popisuje metadata balíčku obsaženého v portu vcpkg. Tento soubor definuje atributy, jako je název, verze, popis balíčku, závislosti, podporované funkce a platformy atd. Další informace najdete v vcpkg.json referenčních informacích k souboru.

ŘÍDICÍ soubory

Upozorňující

CONTROL soubory jsou zastaralé a zachovají se jenom kvůli zpětné kompatibilitě.

CONTROL soubory v vcpkg slouží jako soubory metadat, které určují podrobnosti o balíčku nebo "port", který může vcpkg nainstalovat. Tyto soubory jsou zastaralé a byly z velké části nahrazeny vcpkg.json soubory manifestu pro nové porty. Zachovají se ale kvůli zpětné kompatibilitě. Další informace najdete v ovládacích souborech .

Oprava souborů

V některých scénářích může port obsahovat soubory oprav. Tyto soubory mají změny zdrojového kódu knihovny, které jsou nezbytné k opravě stávajících problémů nebo zachování kompatibility s jinými komponentami. Před zahájením procesu sestavení se opravy použijí jako součást kroků prováděných souborem portu, což usnadňuje bezproblémovou integraci knihovny bez chyb. Další informace najdete v průvodci údržbou.

Kategorie portů

Kategorie portů jsou kolizní termíny, které správci používají k vyjádření rolí, které hrají různé porty v rámci vcpkg. I když tyto kategorie pomáhají popsat obecné funkce, je vhodné si uvědomit, že jakýkoli daný port může patřit do více kategorií nebo možná žádné vůbec, na základě jeho funkcí a případů použití.

Standardní port

Standardní port slouží jako recept pro vytváření knihoven ze zdroje nebo poskytování souborů hlaviček pro knihovny jen pro hlavičky. Obsahuje pokyny a metadata potřebná k získání, sestavení a instalaci knihovny. Velká většina knihoven v kurátorovaném registru jsou standardní porty.

Meta port

Meta port slouží k omezení pro graf instalace, aniž by měl vlastní soubory sestavení. Tyto porty se často používají k seskupení sady souvisejících knihoven pod jedním názvem nebo jako vrstva nepřímých pro nahraditelné komponenty. Jedná se například o metaport, boost který seskupuje různé knihovny Boost pod jediným názvem pro snadnější správu závislostí.

Port skriptu

Port skriptu obsahuje skripty nástroje, které jsou primárně určeny pro interní úlohy vcpkg nebo pro spotřebu jinými porty. Tyto porty umožňují správu verzí skriptů nástroje, čímž se zachová kompatibilita a standardizace. Jedná se například o port skriptu, vcpkg-cmake který zveřejňuje pomocnou vcpkg_cmake_configure() funkci.

Další kroky

Tento dokument poskytuje přehled portů vcpkg, podrobně popisuje jejich základní prvky a různé kategorie. Pokročilejší témata a podrobné příručky najdete v následujících tématech: