|
|
@@ -0,0 +1,64 @@
|
|
|
+# - Macros for generating a summary of enabled/disabled features
|
|
|
+#
|
|
|
+# PRINT_ENABLED_FEATURES()
|
|
|
+# Print a summary of all enabled features. By default all successfull
|
|
|
+# FIND_PACKAGE() calls will appear here, except the ones which used the QUIET keyword.
|
|
|
+# Additional features can be added by appending an entry to the global ENABLED_FEATURES
|
|
|
+# property. If SET_FEATURE_INFO() is used for that feature, the output will be much
|
|
|
+# more informative.
|
|
|
+#
|
|
|
+# PRINT_DISABLED_FEATURES()
|
|
|
+# Same as PRINT_ENABLED_FEATURES(), but for disabled features. It can be extended
|
|
|
+# the same way by adding to the global property DISABLED_FEATURES.
|
|
|
+#
|
|
|
+# SET_FEATURE_INFO(NAME DESCRIPTION [URL [COMMENT] ] )
|
|
|
+# Use this macro to set up information about the named feature, which will
|
|
|
+# then be displayed by PRINT_ENABLED/DISABLED_FEATURES().
|
|
|
+# Example: SET_FEATURE_INFO(LibXml2 "XML processing library." "http://xmlsoft.org/")
|
|
|
+#
|
|
|
+
|
|
|
+
|
|
|
+MACRO(SET_FEATURE_INFO _name _desc)
|
|
|
+ SET(_url "${ARGV2}")
|
|
|
+ SET(_comment "${ARGV3}")
|
|
|
+ SET_PROPERTIES(GLOBAL PROPERTIES ${_name}_DESCRIPTION "${_desc}" )
|
|
|
+ IF(_url MATCHES ".+")
|
|
|
+ SET_PROPERTIES(GLOBAL PROPERTIES ${_name}_URL "${_url}" )
|
|
|
+ ENDIF(_url MATCHES ".+")
|
|
|
+ IF(_comment MATCHES ".+")
|
|
|
+ SET_PROPERTIES(GLOBAL PROPERTIES ${_name}_COMMENT "${_comment}" )
|
|
|
+ ENDIF(_comment MATCHES ".+")
|
|
|
+ENDMACRO(SET_FEATURE_INFO)
|
|
|
+
|
|
|
+
|
|
|
+MACRO(_PRINT_FEATURES _property _text)
|
|
|
+ SET(_currentFeatureText "${_text}")
|
|
|
+ GET_PROPERTY(_EnabledFeatures GLOBAL ${_property})
|
|
|
+ FOREACH(_currentFeature ${_EnabledFeatures})
|
|
|
+ SET(_currentFeatureText "${_currentFeatureText}\n${_currentFeature}")
|
|
|
+ GET_PROPERTY(_info GLOBAL ${_currentFeature}_DESCRIPTION)
|
|
|
+ IF(_info)
|
|
|
+ SET(_currentFeatureText "${_currentFeatureText} , ${_info}")
|
|
|
+ ENDIF(_info)
|
|
|
+ GET_PROPERTY(_info GLOBAL ${_currentFeature}_URL)
|
|
|
+ IF(_info)
|
|
|
+ SET(_currentFeatureText "${_currentFeatureText} , <${_info}>")
|
|
|
+ ENDIF(_info)
|
|
|
+ GET_PROPERTY(_info GLOBAL ${_currentFeature}_COMMENT)
|
|
|
+ IF(_info)
|
|
|
+ SET(_currentFeatureText "${_currentFeatureText} , ${_info}")
|
|
|
+ ENDIF(_info)
|
|
|
+ ENDFOREACH(_currentFeature)
|
|
|
+ MESSAGE(STATUS "${_currentFeatureText}\n")
|
|
|
+ENDMACRO(_PRINT_FEATURES)
|
|
|
+
|
|
|
+
|
|
|
+MACRO(PRINT_ENABLED_FEATURES)
|
|
|
+ _PRINT_FEATURES( ENABLED_FEATURES "Enabled features:")
|
|
|
+ENDMACRO(PRINT_ENABLED_FEATURES)
|
|
|
+
|
|
|
+
|
|
|
+MACRO(PRINT_DISABLED_FEATURES)
|
|
|
+ _PRINT_FEATURES( DISABLED_FEATURES "Disabled features:")
|
|
|
+ENDMACRO(PRINT_DISABLED_FEATURES)
|
|
|
+
|