CMake configúrase correctamente. A compilación comeza máis tarde, tenta descargar unha dependencia externa e falla no proxy. O éxito anterior non necesariamente exercitara esa descarga en absoluto.

ExternalProject_Add() crea pasos que poden executarse durante a compilación. O proceso que lanza eses pasos pode ter un contorno distinto do terminal ou do IDE que configurou o proxecto principal. Esa diferenza é doada de pasar por alto en CI, onde a configuración e a compilación poden ser traballos separados.

Localice a operación de rede

Non supoña que o axuste de proxy dun programa configura os tres. Lea a orde e o erro do paso que falla antes de cambiar o URL da dependencia.

Se o descargador elixido admite variables de contorno de proxy, proporcióneas ao proceso que realmente executa ese paso. Para descargas públicas cuxo cliente acepta un proxy HTTP, a lista de proxies HTTP ofrece candidatos de extremo cando esa ruta está permitida. Pasar unha variable de caché corrente de CMake cun nome semellante non é automaticamente o mesmo que definir unha variable de contorno do proceso fillo.

Manteña tamén a distinción con FetchContent: a súa habitual poboación de dependencias ocorre durante a configuración, así que unha receita que funciona alí non establece o contorno dun paso de compilación de ExternalProject.

Unha resposta antiga que recomenda un descargador personalizado para sortear unha limitación histórica de redireccións non é proba de que cada fallo moderno necesite unha orde de descarga nova. Comprobe se o erro actual é unha redirección, autenticación de proxy, confianza no certificado ou simple accesibilidade. Conserve o hash esperado do arquivo e a validación TLS mentres corrixe a ruta correspondente.

Artigos relacionados