CMake ExternalProject ଡାଉନଲୋଡ୍ ପାଇଁ ପ୍ରକ୍ସି ସେଟିଂସ୍
CMake ର ସଫଳ କନଫିଗରେସନ୍ ପରବର୍ତ୍ତୀ ନିର୍ଭରତା ଡାଉନଲୋଡ୍ ସମାନ ପଥରେ ଯାଏ ବୋଲି ପ୍ରମାଣ କରେ ବୋଲି ଧରିବା ପୂର୍ବରୁ ExternalProject ପଛରେ ଥିବା ପ୍ରକ୍ରିୟା ଓ ଡାଉନଲୋଡ୍ ପଦକ୍ଷେପ ଚିହ୍ନଟ କରନ୍ତୁ।
CMake ସଫଳଭାବେ କନଫିଗର ହୁଏ। ବିଲ୍ଡ ପରେ ଆରମ୍ଭ ହୁଏ, ଏକ ବାହ୍ୟ ନିର୍ଭରତା ଡାଉନଲୋଡ୍ କରିବାକୁ ଚେଷ୍ଟା କରେ ଏବଂ ପ୍ରକ୍ସିରେ ବିଫଳ ହୁଏ। ପୂର୍ବ ସଫଳତା ସେହି ଡାଉନଲୋଡ୍କୁ ଆଦୌ ଚଲାଇ ନଥାଇପାରେ।
ExternalProject_Add() ବିଲ୍ଡ ସମୟରେ ଚାଲିପାରୁଥିବା ପଦକ୍ଷେପ ସୃଷ୍ଟି କରେ। ସେହି ପଦକ୍ଷେପଗୁଡ଼ିକୁ ଆରମ୍ଭ କରୁଥିବା ପ୍ରକ୍ରିୟାର ପରିବେଶ ମୁଖ୍ୟ ପ୍ରକଳ୍ପ କନଫିଗର କରିଥିବା ଟର୍ମିନାଲ୍ କିମ୍ବା IDE ଠାରୁ ଭିନ୍ନ ହୋଇପାରେ। CI ରେ ଏହି ପାର୍ଥକ୍ୟ ଉପେକ୍ଷା କରିବା ସହଜ, ଯେଉଁଠି କନଫିଗରେସନ୍ ଓ କମ୍ପାଇଲେସନ୍ ଅଲଗା କାର୍ଯ୍ୟ ହୋଇପାରେ।
ନେଟୱାର୍କ କାର୍ଯ୍ୟ ଚିହ୍ନଟ କରନ୍ତୁ
- URL ଡାଉନଲୋଡ୍ CMake ର ଡାଉନଲୋଡ୍ ପଥ ବ୍ୟବହାର କରେ।
- Git ଉତ୍ସ ନିଜର ସମର୍ଥିତ କନଫିଗରେସନ୍ ଥିବା Git ପରିବହନ ଆହ୍ୱାନ କରେ।
- କଷ୍ଟମ୍
DOWNLOAD_COMMANDପ୍ରକଳ୍ପ ନିର୍ଦ୍ଦିଷ୍ଟ କରିଥିବା ଯେକୌଣସି ପ୍ରୋଗ୍ରାମ୍ ବ୍ୟବହାର କରେ।
ଏକ ପ୍ରୋଗ୍ରାମ୍ ର ପ୍ରକ୍ସି ସେଟିଂ ତିନୋଟିଯାକ କନଫିଗର କରେ ବୋଲି ଧରନ୍ତୁ ନାହିଁ। ନିର୍ଭରତାର URL ବଦଳାଇବା ପୂର୍ବରୁ ବିଫଳ ପଦକ୍ଷେପର ନିର୍ଦ୍ଦେଶ ଓ ତ୍ରୁଟି ପଢ଼ନ୍ତୁ।
ଯଦି ଚୟନିତ ଡାଉନଲୋଡର୍ ପ୍ରକ୍ସି ପରିବେଶ ଚର କୁ ସମର୍ଥନ କରେ, ସେହି ପଦକ୍ଷେପକୁ ପ୍ରକୃତରେ ଚଲାଉଥିବା ପ୍ରକ୍ରିୟାକୁ ସେଗୁଡ଼ିକ ଦିଅନ୍ତୁ। ଯେଉଁ ସାର୍ବଜନୀନ ଡାଉନଲୋଡ୍ ର କ୍ଲାଏଣ୍ଟ HTTP ପ୍ରକ୍ସି ଗ୍ରହଣ କରେ, ସେଥିପାଇଁ ସେହି ପଥ ଅନୁମତିପ୍ରାପ୍ତ ହେଲେ HTTP ପ୍ରକ୍ସି ତାଲିକା ଏଣ୍ଡପଏଣ୍ଟ ପ୍ରାର୍ଥୀ ଦିଏ। ସମାନ ନାମର ଏକ ସାଧାରଣ CMake କ୍ୟାସ୍ ଚର ପାସ୍ କରିବା ସ୍ୱତଃ ଶିଶୁ ପ୍ରକ୍ରିୟାର ପରିବେଶ ଚର ସେଟ୍ କରିବା ସହିତ ସମାନ ନୁହେଁ।
FetchContent ରୁ ପାର୍ଥକ୍ୟ ମଧ୍ୟ ରଖନ୍ତୁ: ଏହାର ସାଧାରଣ ନିର୍ଭରତା ପୂରଣ କନଫିଗରେସନ୍ ସମୟରେ ହୁଏ, ତେଣୁ ସେଠାରେ କାମ କରୁଥିବା ଏକ ରେସିପି ExternalProject ବିଲ୍ଡ ପଦକ୍ଷେପର ପରିବେଶ ପ୍ରମାଣ କରେ ନାହିଁ।
ଐତିହାସିକ ରିଡାଇରେକ୍ଟ ସୀମାକୁ ଏଡ଼ାଇବା ପାଇଁ କଷ୍ଟମ୍ ଡାଉନଲୋଡର୍ ସୁପାରିଶ କରୁଥିବା ପୁରୁଣା ଉତ୍ତର ଏହାର ପ୍ରମାଣ ନୁହେଁ ଯେ ପ୍ରତ୍ୟେକ ଆଧୁନିକ ବିଫଳତାକୁ ନୂଆ ଡାଉନଲୋଡ୍ ନିର୍ଦ୍ଦେଶ ଦରକାର। ବର୍ତ୍ତମାନର ତ୍ରୁଟି ରିଡାଇରେକ୍ଟ, ପ୍ରକ୍ସି ପ୍ରମାଣୀକରଣ, ପ୍ରମାଣପତ୍ର ବିଶ୍ୱାସ କିମ୍ବା କେବଳ ପହଞ୍ଚତା କି ନୁହେଁ ଯାଞ୍ଚ କରନ୍ତୁ। ସମ୍ପୃକ୍ତ ପଥ ସଜାଡ଼ିବା ସମୟରେ ଆଶାକରାଯାଉଥିବା ଆର୍କାଇଭ୍ ହ୍ୟାସ୍ ଓ TLS ଯାଞ୍ଚ ରଖନ୍ତୁ।