Configurar el entorno de proxy con CMAKE_PROJECT_INCLUDE_BEFORE
Usa un archivo de inclusión de proyecto temprano cuando un envoltorio permite argumentos de CMake pero no expone su entorno de lanzamiento.
Un envoltorio de compilación puede permitirte añadir argumentos de CMake mientras oculta el entorno con el que se inicia CMake. Un gancho de proyecto temprano te da un único lugar donde aportar los valores de proxy del proceso de configuración.
Guarda un archivo pequeño en una ruta absoluta y estable, por ejemplo /home/alex/cmake/proxy-env.cmake:
set(ENV{http_proxy} "http://proxy.example:8080")
set(ENV{https_proxy} "http://proxy.example:8080")Pasa ese archivo a la configuración:
cmake -S . -B build -DCMAKE_PROJECT_INCLUDE_BEFORE=/home/alex/cmake/proxy-env.cmakeCMAKE_PROJECT_INCLUDE_BEFORE incluye el archivo al principio de cada llamada a project(). Por eso se ejecuta antes que CMAKE_PROJECT_INCLUDE, que se ejecuta al final de esa llamada. Esta distinción importa cuando la configuración del lenguaje o un proyecto anidado necesita la ruta.
Para descargas públicas en tiempo de configuración permitidas a través de un intermediario público, elige los valores de URL HTTP de la lista de proxies HTTP. El gancho sigue sin poder afectar al trabajo que se ejecutó antes, incluida una descarga anterior a la primera llamada a project(). Tampoco escribe un ajuste persistente del entorno del sistema operativo.
Los procesos que este proceso de CMake inicie después pueden heredar los valores, siempre que sus clientes de red los admitan. Una compilación posterior, lanzada por separado, tiene su propio entorno. Una descarga aplazada a esa fase de compilación también debe recibir su proxy allí.
Mantén el archivo de gancho fuera de un árbol de código fuente público cuando contenga detalles de conexión privados. El argumento -D guarda la ruta del gancho como variable de CMake; set(ENV{...}) cambia el entorno del proceso en ejecución en lugar de convertir una variable de caché en un ajuste de proxy.