Maaaring payagan ka ng build wrapper na magdagdag ng mga argumento ng CMake habang itinatago ang environment kung saan inilulunsad ang CMake. Ang maagang project hook ay nagbibigay sa iyo ng isang lugar upang ibigay ang mga halaga ng proxy ng proseso ng configuration.

I-save ang isang maliit na file sa isang matatag at ganap na landas, halimbawa /home/alex/cmake/proxy-env.cmake:

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

Ipasa ang file na iyon sa configuration:

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

Isinasama ng CMAKE_PROJECT_INCLUDE_BEFORE ang file sa simula ng bawat tawag sa project(). Kaya't tumatakbo ito nang mas maaga kaysa sa CMAKE_PROJECT_INCLUDE, na tumatakbo sa dulo ng tawag na iyon. Mahalaga ang pagkakaibang ito kapag kailangan ng language setup o nested project ang rutang ito.

Para sa mga pampublikong download sa oras ng configuration na pinapayagan sa pamamagitan ng pampublikong tagapamagitan, piliin ang mga halaga ng HTTP URL mula sa listahan ng HTTP proxy. Hindi pa rin maaapektuhan ng hook ang trabahong nauna rito, kabilang ang download bago ang unang tawag sa project(). Hindi rin ito nagwawrite ng permanenteng setting ng environment ng operating system.

Ang mga prosesong sinisimulan sa ibang pagkakataon ng prosesong CMake na ito ay maaaring magmana ng mga halaga, kung sinusuportahan ito ng kanilang mga network client. Ang isang build na inilunsad nang hiwalay sa ibang pagkakataon ay may sariling environment. Ang download na ipinagpaliban sa yugtong iyon ng build ay dapat ding makatanggap ng proxy nito doon.

Panatilihin ang hook file sa labas ng pampublikong source tree kapag naglalaman ito ng pribadong detalye ng koneksyon. Iniimbak ng argumentong -D ang landas ng hook bilang variable ng CMake; binabago ng set(ENV{...}) ang environment ng tumatakbong proseso sa halip na gawing setting ng proxy ang isang cache variable.

Kaugnay na mga artikulo