Омотач за изградњу може вам дозволити додавање CMake аргумената док скрива окружење у коме се CMake покреће. Рана кука пројекта даје вам једно место на које можете поставити прокси вредности процеса конфигурације.

Сачувајте малу датотеку на стабилној, апсолутној путањи, на пример /home/alex/cmake/proxy-env.cmake:

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

Проследите ту датотеку конфигурацији:

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

CMAKE_PROJECT_INCLUDE_BEFORE укључује датотеку на почетку сваког позива project(). Зато се извршава пре CMAKE_PROJECT_INCLUDE, који се извршава на крају тог позива. Та разлика је важна када подешавање језика или угњеждени пројекат треба ту руту.

За јавна преузимања у време конфигурације дозвољена преко јавног посредника, изаберите вредности HTTP URL-а из списка HTTP проксија. Кука ипак не може утицати на рад који се одиграо пре ње, укључујући преузимање пре првог позива project(). Такође не записује трајно подешавање окружења оперативног система.

Процеси које овај CMake процес касније покрене могу наследити вредности, под условом да их њихови мрежни клијенти подржавају. Каснија, одвојено покренута изградња има своје окружење. Преузимање одложено за ту фазу изградње мора и тамо добити свој прокси.

Држите датотеку куке изван јавног стабла изворног кода када садржи приватне детаље везе. Аргумент -D чува путању куке као CMake променљиву; set(ENV{...}) мења окружење покренутог процеса уместо да cache променљиву претвори у прокси подешавање.

Повезани чланци