CMAKE_PROJECT_INCLUDE_BEFORE સાથે પ્રોક્સી પર્યાવરણ સેટ કરો
જ્યારે રેપર CMake આર્ગ્યુમેન્ટની મંજૂરી આપે પણ તેનું લોન્ચ પર્યાવરણ ઉજાગર ન કરે ત્યારે પ્રારંભિક પ્રોજેક્ટ include ફાઇલ વાપરો.
બિલ્ડ રેપર તમને CMake આર્ગ્યુમેન્ટ ઉમેરવા દઈ શકે છે, પણ જે પર્યાવરણમાં CMake શરૂ થાય છે તે છુપાવે છે. પ્રારંભિક પ્રોજેક્ટ હૂક તમને કન્ફિગર પ્રક્રિયાના પ્રોક્સી મૂલ્યો પૂરા પાડવા માટે એક જગ્યા આપે છે.
નાની ફાઇલ સ્થિર, સંપૂર્ણ (absolute) પાથ પર સાચવો, ઉદાહરણ તરીકે /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.cmakeCMAKE_PROJECT_INCLUDE_BEFORE દરેક project() કૉલની શરૂઆતમાં ફાઇલનો સમાવેશ કરે છે. તેથી તે CMAKE_PROJECT_INCLUDE પહેલાં ચાલે છે, જે તે કૉલના અંતે ચાલે છે. જ્યારે ભાષા સેટઅપ અથવા નેસ્ટેડ પ્રોજેક્ટને રૂટની જરૂર હોય ત્યારે આ તફાવત મહત્વનો છે.
કન્ફિગર સમયે જાહેર મધ્યસ્થ દ્વારા મંજૂર જાહેર ડાઉનલોડ માટે, HTTP પ્રોક્સી યાદીમાંથી HTTP URL મૂલ્યો પસંદ કરો. હૂક હજી પણ તેની પહેલાં થયેલા કામને અસર કરી શકતો નથી, જેમાં પ્રથમ project() કૉલ પહેલાંનું ડાઉનલોડ પણ સામેલ છે. તે કાયમી ઓપરેટિંગ-સિસ્ટમ પર્યાવરણ સેટિંગ પણ લખતું નથી.
આ CMake પ્રક્રિયા પછીથી જે પ્રક્રિયાઓ શરૂ કરે છે તે મૂલ્યો વારસામાં મેળવી શકે છે, જો તેમના નેટવર્ક ક્લાયન્ટ તેમને સમર્થન આપે. પછીથી અલગ શરૂ કરાયેલ બિલ્ડનું પોતાનું પર્યાવરણ હોય છે. તે બિલ્ડ તબક્કા સુધી મુલતવી રાખેલ ડાઉનલોડને ત્યાં પણ પ્રોક્સી મળવો જોઈએ.
હૂક ફાઇલમાં ખાનગી કનેક્શન વિગતો હોય તો તેને જાહેર સ્રોત વૃક્ષની બહાર રાખો. -D આર્ગ્યુમેન્ટ હૂક પાથને CMake ચલ તરીકે સંગ્રહે છે; set(ENV{...}) ચાલી રહેલી પ્રક્રિયાનું પર્યાવરણ બદલે છે, કેશ ચલને પ્રોક્સી સેટિંગમાં ફેરવતું નથી.