| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | 
							- # - 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/")
 
- #
 
- #=============================================================================
 
- # Copyright 2007-2009 Kitware, Inc.
 
- #
 
- # Distributed under the OSI-approved BSD License (the "License");
 
- # see accompanying file Copyright.txt for details.
 
- #
 
- # This software is distributed WITHOUT ANY WARRANTY; without even the
 
- # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
- # See the License for more information.
 
- #=============================================================================
 
- # (To distribute this file outside of CMake, substitute the full
 
- #  License text for the above reference.)
 
- FUNCTION(SET_FEATURE_INFO _name _desc)
 
-   SET(_url "${ARGV2}")
 
-   SET(_comment "${ARGV3}")
 
-   SET_PROPERTY(GLOBAL PROPERTY ${_name}_DESCRIPTION "${_desc}" )
 
-   IF(_url MATCHES ".+")
 
-     SET_PROPERTY(GLOBAL PROPERTY ${_name}_URL "${_url}" )
 
-   ENDIF(_url MATCHES ".+")
 
-   IF(_comment MATCHES ".+")
 
-     SET_PROPERTY(GLOBAL PROPERTY ${_name}_COMMENT "${_comment}" )
 
-   ENDIF(_comment MATCHES ".+")
 
- ENDFUNCTION(SET_FEATURE_INFO)
 
- FUNCTION(_PRINT_FEATURES _property _text)
 
-   SET(_currentFeatureText "${_text}")
 
-   GET_PROPERTY(_EnabledFeatures  GLOBAL PROPERTY ${_property})
 
-   FOREACH(_currentFeature ${_EnabledFeatures})
 
-     SET(_currentFeatureText "${_currentFeatureText}\n${_currentFeature}")
 
-     GET_PROPERTY(_info  GLOBAL PROPERTY ${_currentFeature}_DESCRIPTION)
 
-     IF(_info)
 
-       SET(_currentFeatureText "${_currentFeatureText} , ${_info}")
 
-     ENDIF(_info)
 
-     GET_PROPERTY(_info  GLOBAL PROPERTY ${_currentFeature}_URL)
 
-     IF(_info)
 
-       SET(_currentFeatureText "${_currentFeatureText} , <${_info}>")
 
-     ENDIF(_info)
 
-     GET_PROPERTY(_info  GLOBAL PROPERTY ${_currentFeature}_COMMENT)
 
-     IF(_info)
 
-       SET(_currentFeatureText "${_currentFeatureText} , ${_info}")
 
-     ENDIF(_info)
 
-   ENDFOREACH(_currentFeature)
 
-   MESSAGE(STATUS "${_currentFeatureText}\n")
 
- ENDFUNCTION(_PRINT_FEATURES)
 
- FUNCTION(PRINT_ENABLED_FEATURES)
 
-    _PRINT_FEATURES( ENABLED_FEATURES "Enabled features:")
 
- ENDFUNCTION(PRINT_ENABLED_FEATURES)
 
- FUNCTION(PRINT_DISABLED_FEATURES)
 
-    _PRINT_FEATURES( DISABLED_FEATURES "Disabled features:")
 
- ENDFUNCTION(PRINT_DISABLED_FEATURES)
 
 
  |