ବିଲ୍ଡ ୱ୍ରାପର୍ ଆପଣଙ୍କୁ 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.cmake

CMAKE_PROJECT_INCLUDE_BEFORE ପ୍ରତ୍ୟେକ project() କଲର ଆରମ୍ଭରେ ଫାଇଲ୍କୁ ଅନ୍ତର୍ଭୁକ୍ତ କରେ। ତେଣୁ ଏହା ସେହି କଲର ଶେଷରେ ଚାଲୁଥିବା CMAKE_PROJECT_INCLUDE ପୂର୍ବରୁ ଚାଲେ। ଭାଷା ସେଟଅପ୍ କିମ୍ବା ନେଷ୍ଟେଡ୍ ପ୍ରୋଜେକ୍ଟକୁ ଏହି ପଥ ଆବଶ୍ୟକ ହେଲେ ଏହି ପାର୍ଥକ୍ୟ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ।

କନଫିଗର ସମୟରେ ଏକ ସାର୍ବଜନୀନ ମଧ୍ୟସ୍ଥ ମାଧ୍ୟମରେ ଅନୁମତିପ୍ରାପ୍ତ ସାର୍ବଜନୀନ ଡାଉନଲୋଡ୍ ପାଇଁ, HTTP ପ୍ରକ୍ସି ତାଲିକାରୁ HTTP URL ମୂଲ୍ୟ ବାଛନ୍ତୁ। ହୁକ୍ ତଥାପି ଏହା ପୂର୍ବରୁ ହୋଇଥିବା କାମକୁ ପ୍ରଭାବିତ କରିପାରିବ ନାହିଁ, ପ୍ରଥମ project() କଲ ପୂର୍ବରୁ ଥିବା ଡାଉନଲୋଡ୍ ସହିତ। ଏହା ଅପରେଟିଂ ସିଷ୍ଟମର ସ୍ଥାୟୀ ପରିବେଶ ସେଟିଂ ମଧ୍ୟ ଲେଖେ ନାହିଁ।

ଏହି CMake ପ୍ରକ୍ରିୟା ପରେ ଆରମ୍ଭ କରୁଥିବା ପ୍ରକ୍ରିୟାଗୁଡ଼ିକ, ସେମାନଙ୍କ ନେଟୱାର୍କ କ୍ଲାଏଣ୍ଟ ସମର୍ଥନ କଲେ, ମୂଲ୍ୟଗୁଡ଼ିକୁ ଉତ୍ତରାଧିକାରୀ ଭାବରେ ପାଇପାରନ୍ତି। ପରେ ଅଲଗା ଭାବରେ ଆରମ୍ଭ ହୋଇଥିବା ବିଲ୍ଡର ନିଜସ୍ୱ ପରିବେଶ ଥାଏ। ସେହି ବିଲ୍ଡ ପର୍ଯ୍ୟାୟକୁ ସ୍ଥଗିତ ରଖାଯାଇଥିବା ଡାଉନଲୋଡ୍ ମଧ୍ୟ ସେଠାରେ ନିଜର ପ୍ରକ୍ସି ପାଇବା ଆବଶ୍ୟକ।

ହୁକ୍ ଫାଇଲରେ ବ୍ୟକ୍ତିଗତ ସଂଯୋଗ ବିବରଣୀ ଥିଲେ ଏହାକୁ ସାର୍ବଜନୀନ ଉତ୍ସ ବୃକ୍ଷ ବାହାରେ ରଖନ୍ତୁ। -D ଆର୍ଗୁମେଣ୍ଟ ହୁକ୍ ପଥକୁ CMake ଚର ଭାବରେ ସଞ୍ଚୟ କରେ; set(ENV{...}) ଚାଲୁଥିବା ପ୍ରକ୍ରିୟାର ପରିବେଶ ବଦଳାଏ, କ୍ୟାସ୍ ଚରକୁ ପ୍ରକ୍ସି ସେଟିଂରେ ପରିଣତ କରେ ନାହିଁ।

ସମ୍ପର୍କିତ ପ୍ରବନ୍ଧ