Configura l'entorn de proxy amb CMAKE_PROJECT_INCLUDE_BEFORE
Utilitza un fitxer d'inclusió de projecte primerenc quan un embolcall permet arguments de CMake però no exposa el seu entorn d'inici.
Un embolcall de compilació et pot deixar afegir arguments de CMake mentre amaga l'entorn amb què s'inicia CMake. Un ganxo de projecte primerenc et dona un sol lloc on proporcionar els valors de proxy del procés de configuració.
Desa un fitxer petit en un camí absolut i estable, per exemple /home/alex/cmake/proxy-env.cmake:
set(ENV{http_proxy} "http://proxy.example:8080")
set(ENV{https_proxy} "http://proxy.example:8080")Passa aquest fitxer a la configuració:
cmake -S . -B build -DCMAKE_PROJECT_INCLUDE_BEFORE=/home/alex/cmake/proxy-env.cmakeCMAKE_PROJECT_INCLUDE_BEFORE inclou el fitxer al començament de cada crida a project(). Per tant s'executa abans que CMAKE_PROJECT_INCLUDE, que s'executa al final d'aquesta crida. Aquesta distinció importa quan la configuració del llenguatge o un projecte imbricat necessita la ruta.
Per a baixades públiques en temps de configuració permeses a través d'un intermediari públic, tria els valors d'URL HTTP de la llista de proxys HTTP. El ganxo encara no pot afectar la feina feta abans, inclosa una baixada anterior a la primera crida a project(). Tampoc no escriu cap configuració persistent de l'entorn del sistema operatiu.
Els processos que aquest procés de CMake iniciï després poden heretar els valors, sempre que els seus clients de xarxa els admetin. Una compilació posterior, iniciada per separat, té el seu propi entorn. Una baixada ajornada a aquesta fase de compilació també hi ha de rebre el seu proxy.
Mantén el fitxer de ganxo fora d'un arbre de codi font públic quan contingui detalls de connexió privats. L'argument -D desa el camí del ganxo com a variable de CMake; set(ENV{...}) canvia l'entorn del procés en execució en lloc de convertir una variable de memòria cau en una configuració de proxy.