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
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í.
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.
Upozornění
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 .
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ů 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 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 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 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.
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:
Zpětná vazba k produktu vcpkg
vcpkg je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby: