aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Neundorf <neundorf@kde.org>2010-09-21 20:55:35 +0000
committerAlexander Neundorf <neundorf@kde.org>2010-09-21 20:55:35 +0000
commit5912d28d7655006223e205ef7b01962216abdcff (patch)
treeb961725f61fa90a027b6798fc32924288b6e26e0
parent6c6f30bc7890a13001339312c6565d633d8ffb87 (diff)
downloadextra-cmake-modules-5912d28d7655006223e205ef7b01962216abdcff.tar.gz
extra-cmake-modules-5912d28d7655006223e205ef7b01962216abdcff.tar.bz2
-when using cmake >= 2.8.3, use FeatureSummary.cmake to automatically create a log file for all find_package() calls.
As discussed at Akademy, this can be used by build maintainers to be notified for changing requirements Alex svn path=/trunk/KDE/kdelibs/; revision=1177972
-rw-r--r--modules/MacroLogFeature.cmake15
1 files changed, 13 insertions, 2 deletions
diff --git a/modules/MacroLogFeature.cmake b/modules/MacroLogFeature.cmake
index 541078c8..45e27b6d 100644
--- a/modules/MacroLogFeature.cmake
+++ b/modules/MacroLogFeature.cmake
@@ -48,6 +48,9 @@ IF (NOT _macroLogFeatureAlreadyIncluded)
ENDIF (EXISTS ${_file})
SET(_macroLogFeatureAlreadyIncluded TRUE)
+
+ INCLUDE(FeatureSummary)
+
ENDIF (NOT _macroLogFeatureAlreadyIncluded)
@@ -56,7 +59,7 @@ MACRO(MACRO_LOG_FEATURE _var _package _description _url ) # _required _minvers _
STRING(TOUPPER "${ARGV4}" _required)
SET(_minvers "${ARGV5}")
SET(_comments "${ARGV6}")
-
+
IF (${_var})
SET(_LOGFILENAME ${CMAKE_BINARY_DIR}/EnabledFeatures.txt)
ELSE (${_var})
@@ -88,11 +91,19 @@ MACRO(MACRO_LOG_FEATURE _var _package _description _url ) # _required _minvers _
ENDIF (NOT ${_var})
FILE(APPEND "${_LOGFILENAME}" "${_logtext}\n")
-
+
+ IF(COMMAND SET_PACKAGE_INFO) # in FeatureSummary.cmake since CMake 2.8.3
+ SET_PACKAGE_INFO("${_package}" "\"${_description}\"" "${_url}" "\"${_comments}\"")
+ ENDIF(COMMAND SET_PACKAGE_INFO)
+
ENDMACRO(MACRO_LOG_FEATURE)
MACRO(MACRO_DISPLAY_FEATURE_LOG)
+ IF(COMMAND FEATURE_SUMMARY) # in FeatureSummary.cmake since CMake 2.8.3
+ FEATURE_SUMMARY(FILENAME ${CMAKE_CURRENT_BINARY_DIR}/FindPackageLog.txt
+ WHAT ALL)
+ ENDIF(COMMAND FEATURE_SUMMARY)
SET(_missingFile ${CMAKE_BINARY_DIR}/MissingRequirements.txt)
SET(_enabledFile ${CMAKE_BINARY_DIR}/EnabledFeatures.txt)