CMake konfigureres vellykket. Bygget starter senere, forsøker å laste ned en ekstern avhengighet og feiler på proxyen. Den tidligere suksessen hadde kanskje ikke gjennomført nedlastingen i det hele tatt.

ExternalProject_Add() lager trinn som kan kjøre under bygget. Prosessen som starter disse trinnene, kan ha et annet miljø enn terminalen eller IDE-en som konfigurerte hovedprosjektet. Forskjellen er lett å overse i CI, der konfigurering og kompilering kan være separate jobber.

Finn nettverksoperasjonen

Ikke anta at proxyinnstillingen for ett program konfigurerer alle tre. Les kommandoen og feilen til trinnet som feiler, før du endrer avhengighetens URL.

Hvis nedlasteren du valgte støtter proxy-miljøvariabler, gi dem til prosessen som faktisk kjører trinnet. For offentlige nedlastinger der klienten godtar en HTTP-proxy, tilbyr HTTP-proxylisten kandidater for endepunkter når den ruten er tillatt. Å sende en vanlig CMake-bufre-variabel med lignende navn er ikke automatisk det samme som å sette en miljøvariabel for en underordnet prosess.

Behold også forskjellen fra FetchContent: dens vanlige avhengighetspåfylling skjer under konfigureringen, så en oppskrift som virker der, fastslår ikke miljøet til et ExternalProject-byggetrinn.

Et gammelt svar som anbefaler en tilpasset nedlaster for å omgå en historisk omdirigeringsbegrensning, er ikke bevis for at hver moderne feil trenger en ny nedlastingskommando. Sjekk om den nåværende feilen er en omdirigering, proxyautentisering, sertifikattillit eller rett og slett tilgjengelighet. Behold forventet arkivhash og TLS-validering mens du retter den relevante ruten.

Relaterte artikler