2011-03-23 12 views
100

किसी विशेष स्थिति में त्रुटि उत्पन्न करने के लिए मैं सीएमकेई कैसे प्राप्त कर सकता हूं। यही है, मैं कुछ इस तरह हैं:त्रुटि उत्पन्न करने के लिए सीएमकेई का कारण

if(SOME_COND) 
    error("You can't do that") 
endif() 

उत्तर

135

message() विधि, प्रकार के लिए एक वैकल्पिक तर्क है की अनुमति देता है स्थिति, चेतावनी, AUTHOR_WARNING, SEND_ERROR और FATAL_ERROR।

यदि आप कोई त्रुटि आउटपुट करना चाहते हैं, तो आप SEND_ERROR चाहते हैं, लेकिन प्रसंस्करण जारी रखें। यदि आप सीएमके प्रसंस्करण से बाहर निकलना चाहते हैं तो आप FATAL_ERROR चाहते हैं।

तरह:

if(SOME_COND) 
    message(SEND_ERROR "You can't do that") 
elsif(SOME_CRITICAL_COND) 
    message(FATAL_ERROR "You can not do this at all, CMake will exit.") 
endif() 
+1

क्या बिल्ली एक 'AUTHOR_WARNING' है? –

+1

@AlexisWilke: सीएमके डॉक्स राज्य 'AUTHOR_WARNING = सीएमके चेतावनी (देव), प्रसंस्करण जारी रखें', यह सुझाव देते हुए कि इसका उपयोग सीएमके स्क्रिप्ट को डीबग करने के लिए किया जाना है। बस एक जंगली अनुमान है। – pauluss86

+4

@AlexisWilke 'AUTHOR_WARNING' एक चेतावनी इंगित करता है जो अंतिम उपयोगकर्ता के लिए उपयोगी नहीं है बल्कि डेवलपर्स के लिए उपयोगी है। यह या तो उन्हें कुछ हैक/टोडो को ठीक करने या चेतावनियों को इंगित करने के लिए याद दिला सकता है जिन्हें तय किया जाना चाहिए लेकिन उपयोगकर्ता के लिए सीएमके चलाने को प्रभावित नहीं करता है। Thats क्यों उपयोगकर्ता इन चेतावनियों को '- Wno-dev' के साथ दबा सकता है। – usr1234567

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