Proxy-beállítások CMake ExternalProject-letöltésekhez
Azonosítsa az ExternalProject mögötti folyamatot és letöltési lépést, mielőtt feltételezné, hogy egy sikeres CMake-konfiguráció bizonyítja: a későbbi függőségletöltések ugyanazt az útvonalat használják.
A CMake sikeresen konfigurál. A build később indul, megpróbál letölteni egy külső függőséget, és a proxynál elbukik. A korábbi siker nem feltétlenül gyakorolta egyáltalán azt a letöltést.
A ExternalProject_Add() olyan lépéseket hoz létre, amelyek a build során futhatnak. Az ezeket indító folyamat környezete eltérhet attól a termináltól vagy IDE-től, amely a fő projektet konfigurálta. Ez a különbség CI-ban könnyen elkerüli a figyelmet, ahol a konfigurálás és a fordítás külön feladat lehet.
Határozza meg a hálózati műveletet
- Az URL-letöltés a CMake letöltési útvonalát használja.
- A Git-forrás saját támogatott konfigurációjú Git-szállítást hív.
- Az egyéni
DOWNLOAD_COMMANDazt a programot használja, amelyet a projekt megadott.
Ne feltételezze, hogy egy program proxybeállítása mindhármat konfigurálja. Olvassa el a sikertelen lépés parancsát és hibáját, mielőtt módosítja a függőség URL-jét.
Ha a választott letöltő támogatja a proxy környezeti változókat, adja át őket annak a folyamatnak, amely ténylegesen futtatja azt a lépést. Azoknál a nyilvános letöltéseknél, amelyek kliense HTTP-proxyt fogad el, a HTTP-proxylista végpontjelölteket kínál, ha az az útvonal engedélyezett. Egy hasonló nevű, közönséges CMake-gyorsítótár-változó átadása nem automatikusan ugyanaz, mint egy gyermekfolyamat környezeti változójának beállítása.
Tartsa meg a FetchContenttől való különbséget is: szokásos függőségfeltöltése a konfigurálás során történik, így az ott működő recept nem bizonyítja egy ExternalProject build-lépés környezetét.
Egy régi válasz, amely egyéni letöltőt ajánl egy történelmi átirányítási korlát megkerülésére, nem bizonyíték arra, hogy minden modern hiba új letöltési parancsot igényel. Ellenőrizze, hogy a jelenlegi hiba átirányítás, proxyhitelesítés, tanúsítvány-megbízhatóság vagy egyszerű elérhetőség-e. Őrizze meg az elvárt archívum-hash-t és a TLS-ellenőrzést, miközben a megfelelő útvonalat javítja.