E Build-Wrapper kann dech CMake-Argumenter bäifügen loossen, während en d'Ëmwelt verstoppt, mat där CMake gestart gëtt. En fréien Projet-Hook gëtt der eng eenzeg Plaz, wou s du d'Proxy-Wäerter vum Konfiguratiounsprozess bäibréngs.

Späicher eng kleng Datei op engem stabile, absolute Wee, zum Beispill /home/alex/cmake/proxy-env.cmake:

set(ENV{http_proxy} "http://proxy.example:8080")
set(ENV{https_proxy} "http://proxy.example:8080")

Gëff déi Datei un d'Konfiguratioun:

cmake -S . -B build -DCMAKE_PROJECT_INCLUDE_BEFORE=/home/alex/cmake/proxy-env.cmake

CMAKE_PROJECT_INCLUDE_BEFORE füügt d'Datei am Ufank vun all project()-Opruff an. Si leeft dowéinst méi fréi wéi CMAKE_PROJECT_INCLUDE, deen um Enn vun deem Opruff leeft. Dësen Ënnerscheed ass wichteg, wann d'Sproochastellung oder en agebett Projet dee Wee brauch.

Fir ëffentlech Downloads zur Konfiguratiounszäit, déi iwwer en ëffentlechen Intermédiaire erlaabt sinn, wiel d'HTTP-URL-Wäerter aus der HTTP-Proxy-Lëscht. Den Hook kann nach ëmmer keng Aarbecht beaflossen, déi virdrun gelaf ass, dorënner en Download virum éischten project()-Opruff. En schreift och keng permanent Ëmweltastellung vum Betribssystem.

Prozesser, déi dëse CMake-Prozess duerno startet, kënnen d'Wäerter ierwen, wann hir Netzwierk-Clienten se ënnerstëtzen. E méi spéit, getrennt gestartene Build huet seng eegen Ëmwelt. En Download, deen op déi Build-Phase verréckelt gëtt, muss och do säi Proxy kréien.

Hal den Hook-Fich baussenzeg vun engem ëffentleche Quellbeem, wann en privat Verbindungsdetailer enthält. D'-D-Argument späichert den Hook-Wee als CMake-Variabel; set(ENV{...}) ännert d'Ëmwelt vum lafende Prozess, amplaz eng Cache-Variabel an eng Proxy-Astellung ëmzewandelen.

Ähnlech Artikelen