CMAKE_PROJECT_INCLUDE_BEFORE ৰ সৈতে প্ৰক্সি পৰিৱেশ স্থাপন কৰক
যেতিয়া ৰেপাৰে CMake arguments অনুমতি দিয়ে কিন্তু ইয়াৰ লঞ্চ পৰিৱেশ প্ৰকাশ নকৰে, তেতিয়া এটা আগতীয়া প্ৰজেক্ট include ফাইল ব্যৱহাৰ কৰক।
এটা build wrapper এ আপোনাক CMake arguments যোগ কৰিবলৈ দিব পাৰে, কিন্তু CMake আৰম্ভ কৰিবলৈ ব্যৱহাৰ হোৱা পৰিৱেশ লুকুৱাই ৰাখে। এটা আগতীয়া প্ৰজেক্ট hook এ configure প্ৰক্ৰিয়াৰ প্ৰক্সি মান যোগান ধৰাৰ এটা ঠাই দিয়ে।
এটা সৰু ফাইল স্থিৰ, absolute path ত সংৰক্ষণ কৰক, উদাহৰণস্বৰূপে /home/alex/cmake/proxy-env.cmake:
set(ENV{http_proxy} "http://proxy.example:8080")
set(ENV{https_proxy} "http://proxy.example:8080")সেই ফাইলটো configuration লৈ পাছ কৰক:
cmake -S . -B build -DCMAKE_PROJECT_INCLUDE_BEFORE=/home/alex/cmake/proxy-env.cmakeCMAKE_PROJECT_INCLUDE_BEFORE এ প্ৰতিটো project() কলৰ আৰম্ভণিতে ফাইলটো অন্তৰ্ভুক্ত কৰে। সেয়েহে ই CMAKE_PROJECT_INCLUDE তকৈ আগতে চলে, যিটো সেই কলৰ শেষত চলে। ভাষা setup বা এটা nested project এ ৰুটৰ প্ৰয়োজন হ'লে এই পাৰ্থক্যটো গুৰুত্বপূৰ্ণ।
configure সময়ত এটা ৰাজহুৱা intermediary ৰ জৰিয়তে অনুমোদিত ৰাজহুৱা download বোৰৰ বাবে, HTTP প্ৰক্সি তালিকাৰ পৰা HTTP URL মানসমূহ বাছনি কৰক। hook এ তথাপিও ইয়াৰ আগতে চলা কামত প্ৰভাৱ পেলাব নোৱাৰে, য'ত প্ৰথম project() কলৰ আগৰ এটা download অন্তৰ্ভুক্ত। ই এটা স্থায়ী operating-system পৰিৱেশ settingও নিলিখে।
এই CMake প্ৰক্ৰিয়াই পিছত আৰম্ভ কৰা প্ৰক্ৰিয়াসমূহে মানসমূহ উত্তৰাধিকাৰী হ'ব পাৰে, যদি সিহঁতৰ network client বোৰে সমৰ্থন কৰে। পিছত, সুকীয়াকৈ আৰম্ভ কৰা build ৰ নিজৰ পৰিৱেশ থাকে। সেই build পৰ্যায়লৈ পিছুৱাই দিয়া download এ তাতো প্ৰক্সি পাব লাগিব।
hook ফাইলত ব্যক্তিগত সংযোগৰ বিৱৰণ থাকিলে ইয়াক ৰাজহুৱা source tree ৰ বাহিৰত ৰাখক। -D argument এ hook path টো CMake variable হিচাপে সংৰক্ষণ কৰে; set(ENV{...}) এ চলি থকা প্ৰক্ৰিয়াৰ পৰিৱেশ সলনি কৰে, cache variable ক প্ৰক্সি setting লৈ ৰূপান্তৰ নকৰে।