Proxy-Astellungen fir CMake ExternalProject-Downloads
Bestëmmt de Prozess an den Download-Schrëtt hannert ExternalProject, ier Dir unhëlt datt eng erfollegräich CMake-Konfiguratioun beweise géif datt spéider Ofhängegkeetsdownloads dee selwechte Wee huelen.
CMake konfiguréiert sech erfollegräich. De Build fänkt méi spéit un, probéiert eng extern Ofhängegkeet erofzelueden an deet um Proxy feel. Déi fréier Erfolleg huet deen Download vläicht guer net ausgeübt.
ExternalProject_Add() schaaft Schrëtt, déi wärend dem Build kënne lafen. De Prozess, deen déi Schrëtt start, kann eng aner Ëmgebung hunn wéi den Terminal oder d'IDE, déi de Haaptprojet konfiguréiert hunn. Dësen Ënnerscheed ass an CI liicht ze iwwersinn, wou Konfiguratioun a Kompilatioun getrennt Aufgabe kënne sinn.
Lokaliséiert d'Netzwierkoperatioun
- En URL-Download benotzt de Downloadwee vun CMake.
- Eng Git-Quell rifft en Git-Transport mat senger eegener ënnerstëtzter Konfiguratioun op.
- En ugepassten
DOWNLOAD_COMMANDbenotzt dat Programm, dat de Projet uginn huet.
Hält net un datt d'Proxy-Astellung fir ee Programm all dräi konfiguréiert. Liest d'Kommando an de Feeler vum Schrëtt, dee feelt, ier Dir d'URL vun der Ofhängegkeet ännert.
Wann den ausgewielten Downloader Proxy-Ëmgebungsvariabelen ënnerstëtzt, gitt se dem Prozess, deen dee Schrëtt tatsächlech ausféiert. Fir ëffentlech Downloads, deenen hire Client en HTTP-Proxy akzeptéiert, bitt d'HTTP-Proxy-Lëscht Endpunkt-Kandidaten, wann dee Wee erlaabt ass. Eng gewéinlech CMake-Cachevariabel mat engem ähnlechen Numm ze iwwerginn ass net automatesch datselwecht wéi eng Ëmgebungsvariabel vun engem Kandprozess ze setzen.
Behält och den Ënnerscheed zu FetchContent: seng gewéinlech Ofhängegkeetsfëllung geschitt wärend der Konfiguratioun, also beleen e Rezept, dat do funktionnéiert, net d'Ëmgebung vun engem ExternalProject-Buildschrëtt.
Eng al Äntwert, déi en ugepassten Downloader recommandéiert fir eng historesch Ëmleedungslimitatioun z'ëmgoen, ass kee Beweis datt all modernen Feeler eng nei Downloadskommando brauch. Préift ob dee momentanen Feeler eng Ëmleedung, Proxy-Authentifizéierung, Zertifikatsvertrauen oder just Erreechbarkeet ass. Bewaart den erwaarten Archivhash an d'TLS-Validéierung wärend Dir dee relevante Wee reparéiert.