Configurar o contorno de proxy con CMAKE_PROJECT_INCLUDE_BEFORE
Usa un ficheiro de inclusión de proxecto temperán cando un envoltorio permite argumentos de CMake pero non expón o seu contorno de lanzamento.
Un envoltorio de compilación pode permitirche engadir argumentos de CMake mentres oculta o contorno co que se inicia CMake. Un gancho de proxecto temperán dache un único lugar onde achegar os valores de proxy do proceso de configuración.
Garda un ficheiro pequeno nunha ruta absoluta e estable, por exemplo /home/alex/cmake/proxy-env.cmake:
set(ENV{http_proxy} "http://proxy.example:8080")
set(ENV{https_proxy} "http://proxy.example:8080")Pasa ese ficheiro á configuración:
cmake -S . -B build -DCMAKE_PROJECT_INCLUDE_BEFORE=/home/alex/cmake/proxy-env.cmakeCMAKE_PROJECT_INCLUDE_BEFORE inclúe o ficheiro ao comezo de cada chamada a project(). Execútase por tanto antes que CMAKE_PROJECT_INCLUDE, que se executa ao final desa chamada. Esta distinción importa cando a configuración da linguaxe ou un proxecto aniñado necesitan a ruta.
Para descargas públicas en tempo de configuración permitidas a través dun intermediario público, escolle os valores de URL HTTP da lista de proxies HTTP. O gancho segue sen poder afectar o traballo executado antes, incluída unha descarga anterior á primeira chamada a project(). Tampouco escribe un axuste persistente do contorno do sistema operativo.
Os procesos que este proceso de CMake inicie despois poden herdar os valores, sempre que os seus clientes de rede os admitan. Unha compilación posterior, lanzada por separado, ten o seu propio contorno. Unha descarga aprazada a esa fase de compilación tamén debe recibir o seu proxy alí.
Mantén o ficheiro de gancho fóra dunha árbore de código fonte pública cando conteña detalles de conexión privados. O argumento -D garda a ruta do gancho como variable de CMake; set(ENV{...}) cambia o contorno do proceso en execución en lugar de converter unha variable de caché nun axuste de proxy.