I-wrapper yokwakha ingakuvumela ukuthi wengeze ama-argument e-CMake kuyilapho ifihla imvelo esetshenziswa ukuqalisa i-CMake. I-hook yephrojekthi yakusenesikhathi ikunika indawo eyodwa yokuhlinzeka ngamanani e-proxy enqubo yokuhlela.

Gcina ifayela elincane endleleni ephelele eqinile, isibonelo /home/alex/cmake/proxy-env.cmake:

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

Dlulisela lelo fayela ekuhleleni:

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

I-CMAKE_PROJECT_INCLUDE_BEFORE ifaka ifayela ekuqaleni kwakho konke ukubiza kwe-project(). Ngakho-ke isebenza ngaphambi kwe-CMAKE_PROJECT_INCLUDE, esebenza ekupheleni kwalokho kubiza. Lo mehluko ubalulekile lapho ukuhlelwa kolimi noma iphrojekthi efakwe ngaphakathi idinga le ndlela.

Ngokulandwa komphakathi ngesikhathi sokuhlela okuvunyelwe ngomlamuli womphakathi, khetha amanani e-HTTP URL ohlwini lwama-proxy e-HTTP (HTTP proxy list). I-hook ayikakwazi ukuthinta umsebenzi owenzeka ngaphambili kwayo, kuhlanganise nokulandwa ngaphambi kokubiza kokuqala kwe-project(). Futhi ayibhali isilungiselelo semvelo esihlala njalo sohlelo lokusebenza.

Izinqubo eziqalwa kamuva yile nqubo ye-CMake zingazuza njengefa amanani, inqobo nje uma amaklayenti azo enethiwekhi eziwasekela. Ukwakhiwa kwakamuva okuqalwe ngokwehlukile kunemvelo yako. Ukulandwa okuhlehliselwe leso sigaba sokwakha kufanele futhi kuthole i-proxy yako lapho.

Gcina ifayela le-hook ngaphandle kwesihlahla somthombo womphakathi lapho liqukethe imininingwane yoxhumano eyimfihlo. I-argument ye-D igcina indlela ye-hook njengokuguquguqukayo kwe-CMake; i-set(ENV{...}) ishintsha imvelo yenqubo esebenzayo esikhundleni sokuguqula okuguquguqukayo kwe-cache kube isilungiselelo se-proxy.

Izihloko ezihlobene