Weka mazingira ya proksi kwa CMAKE_PROJECT_INCLUDE_BEFORE
Tumia faili ya include ya mradi ya mapema wakati kifuniko kinaruhusu hoja za CMake lakini hakionyeshi mazingira yake ya kuanzisha.
Kifuniko cha ujenzi kinaweza kukuruhusu kuongeza hoja za CMake huku kikificha mazingira yanayotumika kuanzisha CMake. Hook ya mradi ya mapema inakupa mahali pamoja pa kutoa thamani za proksi za mchakato wa usanidi.
Hifadhi faili ndogo kwenye njia kamili isiyobadilika, kwa mfano /home/alex/cmake/proxy-env.cmake:
set(ENV{http_proxy} "http://proxy.example:8080")
set(ENV{https_proxy} "http://proxy.example:8080")Pitisha faili hiyo kwa usanidi:
cmake -S . -B build -DCMAKE_PROJECT_INCLUDE_BEFORE=/home/alex/cmake/proxy-env.cmakeCMAKE_PROJECT_INCLUDE_BEFORE hujumuisha faili hiyo mwanzoni mwa kila wito wa project(). Kwa hiyo huendeshwa mapema kuliko CMAKE_PROJECT_INCLUDE, ambayo huendeshwa mwishoni mwa wito huo. Tofauti hii ni muhimu wakati usanidi wa lugha au mradi uliobahatishwa unahitaji njia hiyo.
Kwa upakuaji wa umma wakati wa usanidi unaoruhusiwa kupitia mpatanishi wa umma, chagua thamani za URL za HTTP kutoka orodha ya proksi za HTTP. Hook bado haiwezi kuathiri kazi iliyofanyika kabla yake, ikiwa ni pamoja na upakuaji kabla ya wito wa kwanza wa project(). Pia haiandiki mpangilio wa kudumu wa mazingira ya mfumo wa uendeshaji.
Mchakato unaoanzishwa baadaye na mchakato huu wa CMake unaweza kurithi thamani hizo, mradi wateja wao wa mtandao wanaziauni. Ujenzi wa baadaye, ulioanzishwa kando, una mazingira yake. Upakuaji ulioahirishwa hadi hatua hiyo ya ujenzi lazima upate proksi yake huko pia.
Weka faili ya hook nje ya mti wa chanzo wa umma ikiwa ina maelezo ya muunganisho wa faragha. Hoja ya -D huhifadhi njia ya hook kama kigezo cha CMake; set(ENV{...}) hubadilisha mazingira ya mchakato unaoendelea badala ya kugeuza kigezo cha akiba kuwa mpangilio wa proksi.