'n Bou-wrapper laat jou dalk CMake-argumente byvoeg terwyl dit die omgewing verberg waarmee CMake begin word. 'n Vroeë projek-haak gee jou een plek om die instellingsproses se proxy-waardes te verskaf.

Stoor 'n klein lêer op 'n stabiele, absolute pad, byvoorbeeld /home/alex/cmake/proxy-env.cmake:

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

Gee daardie lêer aan die konfigurasie:

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

CMAKE_PROJECT_INCLUDE_BEFORE sluit die lêer aan die begin van elke project()-oproep in. Dit loop dus vroeër as CMAKE_PROJECT_INCLUDE, wat aan die einde van daardie oproep loop. Hierdie onderskeid maak saak wanneer taalopstelling of 'n geneste projek die roete nodig het.

Vir publieke aflaaie tydens konfigurasie wat deur 'n publieke tussenganger toegelaat word, kies die HTTP-URL-waardes uit die HTTP-proxylys. Die haak kan steeds nie werk beïnvloed wat voor hom geloop het nie, insluitend 'n aflaai voor die eerste project()-oproep. Dit skryf ook nie 'n blywende bedryfstelsel-omgewingsinstelling nie.

Prosesse wat daarna deur hierdie CMake-proses begin word, kan die waardes erf, mits hul netwerk-kliënte dit ondersteun. 'n Latere, apart begin bou het sy eie omgewing. 'n Aflaai wat na daardie boutydperk uitgestel word, moet ook daar sy proxy kry.

Hou die haaklêer buite 'n publieke bronboom wanneer dit private verbindingsbesonderhede bevat. Die -D-argument stoor die haakpad as 'n CMake-veranderlike; set(ENV{...}) verander die lopende proses se omgewing eerder as om 'n kasveranderlike in 'n proxy-instelling te omskep.

Verwante artikels