Mae CMake yn cydffurfio'n llwyddiannus. Mae'r adeiladwaith yn dechrau'n ddiweddarach, yn ceisio lawrlwytho dibyniaeth allanol, ac yn methu wrth y procsi. Nid oedd y llwyddiant cynharach o reidrwydd wedi arfer y lawrlwythiad hwnnw o gwbl.

Mae ExternalProject_Add() yn creu camau a all redeg yn ystod yr adeiladwaith. Gall y broses sy'n lansio'r camau hynny fod â gwahanol amgylchedd i'r terfynell neu'r IDE a gydffurfiodd y prif brosiect. Mae'r gwahaniaeth hwnnw'n hawdd ei golli mewn CI, lle gall cydffurfio a chyfuno fod yn swyddi ar wahân.

Dod o hyd i'r gweithrediad rhwydwaith

Peidiwch â thybio bod gosodiad procsi un rhaglen yn cydffurfio'r tri. Darllenwch orchymyn a gwall y cam sy'n methu cyn newid URL y ddibyniaeth.

Os yw'r lawrlwythydd a ddewiswyd yn cefnogi newidynnau amgylchedd procsi, darparwch nhw i'r broses sy'n rhedeg y cam hwnnw mewn gwirionedd. Ar gyfer lawrlwythiadau cyhoeddus y mae eu cleient yn derbyn procsi HTTP, mae'r rhestr procsi HTTP yn cynnig ymgeiswyr pwynt terfyn pan ganiateir y llwybr hwnnw. Nid yw pasio newidyn storfa CMake cyffredin ag enw tebyg yr un peth yn awtomatig â gosod newidyn amgylchedd proses plentyn.

Cadwch y gwahaniaeth oddi wrth FetchContent hefyd: mae ei bobloli dibyniaeth arferol yn digwydd yn ystod cydffurfio, felly nid yw rysáit sy'n gweithio yno yn sefydlu amgylchedd cam adeiladu ExternalProject.

Nid yw hen ateb yn argymell lawrlwythydd personol i osgoi cyfyngiad ailgyfeirio hanesyddol yn dystiolaeth bod pob methiant modern angen gorchymyn lawrlwytho newydd. Gwiriwch a yw'r gwall presennol yn ailgyfeiriad, yn ddilysiad procsi, yn ymddiriedaeth tystysgrif, neu'n syml yn gyrhaeddedd. Cadwch y hash archif a'r dilysiad TLS a ddisgwylir wrth drwsio'r llwybr perthnasol.

Erthyglau cysylltiedig