2015-06-27 2 views
18

CMake पर एक पूर्व प्रश्न के This answer इस कमांड लाइन से पता चलता? cmake --help कहता है कि -H सहायता प्रिंट करता है ...'-H.` विकल्प का अर्थ सीएमके के लिए क्या है?</p> <pre><code>cmake -H. -Bbuild -G "MSYS Makefiles" </code></pre> <p>क्या कार्य <code>-H.</code> विकल्प यहाँ प्रदर्शन करता है:

मैं सीएमके 3.2.3 का उपयोग कर रहा हूं।

उत्तर

24

जुड़ा हुआ जवाब में उल्लेख किया है, यह एक गैर-दस्तावेजी विकल्प है, लेकिन स्रोत कोड देख उसके प्रभाव का पता चलता है:

cmake::SetArgs() में:

if(arg.find("-H",0) == 0) 
    {  
    directoriesSet = true; 
    std::string path = arg.substr(2); 
    path = cmSystemTools::CollapseFullPath(path); 
    cmSystemTools::ConvertToUnixSlashes(path); 
    this->SetHomeDirectory(path); 

आखिरी कॉल, SetHomeDirectory वास्तव में स्रोत सेट परियोजना के लिए निर्देशिका। बदले में -B विकल्प (अनियंत्रित) बाइनरी निर्देशिका सेट करता है।

यदि ये विकल्प सेट नहीं हैं, तो बाइनरी निर्देशिका वर्तमान फ़ोल्डर होगी जहां सेमेक निष्पादित किया जाएगा, और स्रोत निर्देशिका को स्थितित्मक तर्क के रूप में दिया जा सकता है (यदि नहीं मिला, तो स्रोत फ़ोल्डर भी वर्तमान कार्यशील निर्देशिका होगी)।

+9

उन दस्तावेजों को क्यों नहीं कहा जाता है? : ओ – grisevg

+5

@grisevg एक दस्तावेज प्रस्तुत किया गया था [प्रलेखन समस्या को ठीक करें] (https://cmake.org/pipermail/cmake-developers/2016-June/028843.html)। लेकिन इसे खारिज कर दिया गया था। अभी भी कोई संतोषजनक उत्तर नहीं है कि इसे या तो दस्तावेज या हटाया नहीं जा सकता है (यदि वास्तव में कोई जोखिम है)। ऐसा लगता है कि विकास दल सार्वजनिक उपयोग के लिए इन विकल्पों का समर्थन नहीं कर रहा है। – wally

संबंधित मुद्दे