Konfigurowanie środowiska proxy za pomocą CMAKE_PROJECT_INCLUDE_BEFORE
Użyj wczesnego pliku dołączania projektu, gdy opakowanie pozwala na argumenty CMake, ale nie ujawnia swojego środowiska uruchomieniowego.
Opakowanie kompilacji może pozwalać na dodawanie argumentów CMake, jednocześnie ukrywając środowisko, w którym uruchamiany jest CMake. Wczesny hook projektu daje jedno miejsce, w którym można podać wartości proxy procesu konfiguracji.
Zapisz mały plik pod stabilną ścieżką absolutną, na przykład /home/alex/cmake/proxy-env.cmake:
set(ENV{http_proxy} "http://proxy.example:8080")
set(ENV{https_proxy} "http://proxy.example:8080")Przekaż ten plik do konfiguracji:
cmake -S . -B build -DCMAKE_PROJECT_INCLUDE_BEFORE=/home/alex/cmake/proxy-env.cmakeCMAKE_PROJECT_INCLUDE_BEFORE dołącza plik na początku każdego wywołania project(). Działa więc wcześniej niż CMAKE_PROJECT_INCLUDE, który działa na końcu tego wywołania. Ta różnica ma znaczenie, gdy konfiguracja języka lub zagnieżdżony projekt potrzebuje tej trasy.
W przypadku publicznych pobrań w czasie konfiguracji dozwolonych przez publicznego pośrednika wybierz wartości adresów URL HTTP z listy proxy HTTP. Hook nadal nie może wpłynąć na pracę wykonaną wcześniej, w tym na pobranie przed pierwszym wywołaniem project(). Nie zapisuje też trwałego ustawienia środowiska systemu operacyjnego.
Procesy uruchomione później przez ten proces CMake mogą odziedziczyć wartości, pod warunkiem że ich klienci sieciowi je obsługują. Późniejsza, uruchomiona osobno kompilacja ma własne środowisko. Pobranie odroczone do tego etapu kompilacji również musi tam otrzymać swoje proxy.
Trzymaj plik hooka poza publicznym drzewem źródeł, gdy zawiera prywatne dane połączenia. Argument -D zapisuje ścieżkę hooka jako zmienną CMake; set(ENV{...}) zmienia środowisko działającego procesu, zamiast zamieniać zmienną pamięci podręcznej w ustawienie proxy.