किसी विशेष शर्त पर त्रुटि उत्पन्न करने के लिए मैं CMAKE कैसे प्राप्त कर सकता हूं। यही है, मैं कुछ इस तरह चाहते हैं:
if( SOME_COND )
error( "You can't do that" )
endif()
किसी विशेष शर्त पर त्रुटि उत्पन्न करने के लिए मैं CMAKE कैसे प्राप्त कर सकता हूं। यही है, मैं कुछ इस तरह चाहते हैं:
if( SOME_COND )
error( "You can't do that" )
endif()
जवाबों:
message()विधि मोड के लिए एक वैकल्पिक तर्क है, की अनुमति देता है STATUS, WARNING, AUTHOR_WARNING, SEND_ERROR, और FATAL_ERROR। STATUSसंदेश stdout में जाते हैं। संदेश का हर दूसरा मोड, जिसमें कोई नहीं है, stderr पर जाता है।
आप चाहते हैं SEND_ERRORकि आप कोई त्रुटि उत्पन्न करना चाहते हैं, लेकिन प्रसंस्करण जारी रखें। आप चाहते हैं FATAL_ERRORअगर आप CMake प्रसंस्करण बाहर निकलना चाहते।
कुछ इस तरह:
if( SOME_COND )
message( SEND_ERROR "You can't do that" )
elseif( SOME_CRITICAL_COND )
message( FATAL_ERROR "You can not do this at all, CMake will exit." )
endif()
AUTHOR_WARNING = CMake Warning (dev), continue processing, यह सुझाव देती है कि इसका उपयोग CMake स्क्रिप्ट को डीबग करने के लिए किया जाना है। बस एक जंगली अनुमान है।
AUTHOR_WARNINGएक चेतावनी को इंगित करता है जो अंतिम उपयोगकर्ता के लिए उपयोगी नहीं है, लेकिन डेवलपर्स के लिए। यह या तो उन्हें कुछ हैक / टॉड को ठीक करने के लिए याद दिला सकता है या चेतावनी को इंगित कर सकता है जिसे ठीक किया जाना चाहिए लेकिन उपयोगकर्ता के लिए चलने वाले CMake को प्रभावित नहीं करता है। यही कारण है कि उपयोगकर्ता इन चेतावनियों को दबा सकता है --Wno-dev।
AUTHOR_WARNING?