kdelibs/cmake/modules/MacroLogFeature.cmake
Ivailo Monev 6de0aa57cc cmake: MacroLogFeature rewrite
logging found and otherwise packages will no longer be done thus
macro_display_feature_log() is removed. the reason for not doing is because
it simply does not cover all package lookups, only those logged via
macro_log_feature(). if I was to fix that, I would probably resort to
CMakeCache.txt parsing trickery since it includes indirect package lookups
aswell as header, struct, member, etc. checks however that would be
fragile and require common pattern in the checks

macro_log_feature() incorrectly quoted DESCRIPTION and PURPOSE in the
CMake output but that is fixed now. it will be replaced with actual
set_package_properties() macro calls in the future.

in any case, it is addition disk I/O so the configuration/build time will
be reduced with this change.

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-18 16:41:32 +00:00

44 lines
1.6 KiB
CMake

# This file defines the Feature Logging macros.
#
# MACRO_LOG_FEATURE(VAR FEATURE DESCRIPTION URL [REQUIRED [MIN_VERSION [COMMENTS]]])
# Logs the information so that it can be displayed at the end
# of the configure run
# VAR : TRUE or FALSE, indicating whether the feature is supported
# FEATURE: name of the feature, e.g. "libjpeg"
# DESCRIPTION: description what this feature provides
# URL: home page
# REQUIRED: TRUE or FALSE, indicating whether the feature is required
# MIN_VERSION: minimum version number. empty string if unneeded
# COMMENTS: More info you may want to provide. empty string if unnecessary
#
# Example:
#
# INCLUDE(MacroLogFeature)
#
# FIND_PACKAGE(JPEG)
# MACRO_LOG_FEATURE(JPEG_FOUND "libjpeg" "Support JPEG images" "http://www.ijg.org" TRUE "3.2a" "")
#
# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org>
# Copyright (c) 2006, Allen Winter, <winter@kde.org>
# Copyright (c) 2009, Sebastian Trueg, <trueg@kde.org>
# Copyright (c) 2017-2020, Ivailo Monev, <xakepa10@gmail.com>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
# in FeatureSummary.cmake since CMake 2.8.3
INCLUDE(FeatureSummary)
MACRO(MACRO_LOG_FEATURE _var _package _description _url ) # _required _minvers _comments)
STRING(TOUPPER "${ARGV4}" _required)
SET(_minvers "${ARGV5}")
SET(_comments "${ARGV6}")
SET_PACKAGE_PROPERTIES("${_package}" PROPERTIES
DESCRIPTION "${_description}"
URL "${_url}"
PURPOSE "${_comments}"
)
ENDMACRO(MACRO_LOG_FEATURE)