Proksija iestatījumi CMake ExternalProject lejupielādēm
Nosakiet procesu un lejupielādes soli aiz ExternalProject, pirms pieņemat, ka veiksmīga CMake konfigurācija pierāda, ka turpmākās atkarību lejupielādes iet to pašu ceļu.
CMake veiksmīgi konfigurējas. Būvēšana sākas vēlāk, mēģina lejupielādēt ārēju atkarību un neizdodas pie proksija. Iepriekšējie panākumi, iespējams, vispār nebija izmēģinājuši šo lejupielādi.
ExternalProject_Add() izveido soļus, kas var darboties būvēšanas laikā. Procesam, kas palaiž šos soļus, var būt cita vide nekā terminālim vai IDE, kas konfigurēja galveno projektu. Šo atšķirību CI ir viegli palaist garām, jo tur konfigurēšana un kompilēšana var būt atsevišķi darbi.
Atrodiet tīkla darbību
- URL lejupielāde izmanto CMake lejupielādes ceļu.
- Git avots izsauc Git transportu ar savu atbalstīto konfigurāciju.
- Pielāgota
DOWNLOAD_COMMANDizmanto jebkuru programmu, ko norādījis projekts.
Nepieņemiet, ka vienas programmas proksija iestatījums konfigurē visas trīs. Pirms atkarības URL maiņas izlasiet neizdevušā soļa komandu un kļūdu.
Ja izvēlētais lejupielādētājs atbalsta proksija vides mainīgos, nododiet tos procesam, kas faktiski izpilda šo soli. Publiskām lejupielādēm, kuru klients pieņem HTTP proksiju, HTTP proksiju saraksts piedāvā galapunktu kandidātus, kad šis ceļš ir atļauts. Parasta CMake kešatmiņas mainīgā ar līdzīgu nosaukumu nodošana automātiski nav tas pats, kas bērnu procesa vides mainīgā iestatīšana.
Saglabājiet arī atšķirību no FetchContent: tā parastā atkarību aizpildīšana notiek konfigurēšanas laikā, tāpēc tur strādājoša recepte neapliecina ExternalProject būvēšanas soļa vidi.
Vecs atbildes ieraksts, kas iesaka pielāgotu lejupielādētāju, lai apietu vēsturisku pāradresācijas ierobežojumu, nav pierādījums, ka katrai mūsdienu kļūdai vajadzīga jauna lejupielādes komanda. Pārbaudiet, vai pašreizējā kļūda ir pāradresācija, proksija autentifikācija, sertifikāta uzticēšanās vai vienkārši sasniedzamība. Saglabājiet gaidīto arhīva jaucējvērtību un TLS validāciju, kamēr labojat attiecīgo ceļu.