telepathy-qt: CMake: Validate imported components in CMake Config file
Alexandr Akulich
kaffeine at kemper.freedesktop.org
Mon Nov 11 17:28:15 UTC 2019
Module: telepathy-qt
Branch: master
Commit: d99c5fbcf98663f1d51e3a07cc8fdc5c325a4633
URL: http://cgit.freedesktop.org/telepathy/telepathy-qt/commit/?id=d99c5fbcf98663f1d51e3a07cc8fdc5c325a4633
Author: Alexander Akulich <akulichalexander at gmail.com>
Date: Fri Nov 8 22:50:59 2019 +0300
CMake: Validate imported components in CMake Config file
---
TelepathyQt/TelepathyQtConfig.cmake.in | 26 ++++++++++++++++++++++++--
1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/TelepathyQt/TelepathyQtConfig.cmake.in b/TelepathyQt/TelepathyQtConfig.cmake.in
index fa474951..5f5845ae 100644
--- a/TelepathyQt/TelepathyQtConfig.cmake.in
+++ b/TelepathyQt/TelepathyQtConfig.cmake.in
@@ -28,13 +28,35 @@ if(NOT TelepathyQt at QT_VERSION_MAJOR@_FOUND)
endif()
unset(_QT_COMPONENTS)
- # attempt to find the generated TelepathyQt4Targets.cmake in the same directory
+ # attempt to find the generated Targets file in the same directory
get_filename_component(_TPQT at QT_VERSION_MAJOR@_CONFIG_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
find_file(_TPQT at QT_VERSION_MAJOR@_TARGETS_FILE TelepathyQt at QT_VERSION_MAJOR@Targets.cmake PATHS ${_TPQT at QT_VERSION_MAJOR@_CONFIG_DIR} NO_DEFAULT_PATH)
include(${_TPQT at QT_VERSION_MAJOR@_TARGETS_FILE})
- # set the directories
+ set(_TelepathyQt at QT_VERSION_MAJOR@_NOTFOUND_MESSAGE)
+ set(_WANTED_COMPONENTS "${TelepathyQt at QT_VERSION_MAJOR@_FIND_COMPONENTS}")
+ list (FIND _WANTED_COMPONENTS "Core" _CORE_INDEX)
+ if (${_CORE_INDEX} LESS 0)
+ list(APPEND _WANTED_COMPONENTS Core)
+ endif()
+ foreach(_MODULE ${_WANTED_COMPONENTS})
+ if(NOT TARGET TelepathyQt at QT_VERSION_MAJOR@::${_MODULE})
+ if (TelepathyQt at QT_VERSION_MAJOR@_FIND_REQUIRED_${_MODULE})
+ set(_TelepathyQt at QT_VERSION_MAJOR@_NOTFOUND_MESSAGE
+ "${_TelepathyQt at QT_VERSION_MAJOR@_NOTFOUND_MESSAGE}Failed to find TelepathyQt at QT_VERSION_MAJOR@ component \"${_MODULE}\"\n")
+ elseif(NOT TelepathyQt at QT_VERSION_MAJOR@_FIND_QUIETLY)
+ message(WARNING "Failed to find TelepathyQt at QT_VERSION_MAJOR@ component \"${_MODULE}\"")
+ endif()
+ endif()
+ endforeach()
+
+ if (_TelepathyQt at QT_VERSION_MAJOR@_NOTFOUND_MESSAGE)
+ set(TelepathyQt at QT_VERSION_MAJOR@_NOT_FOUND_MESSAGE "${_TelepathyQt at QT_VERSION_MAJOR@_NOTFOUND_MESSAGE}")
+ set(TelepathyQt at QT_VERSION_MAJOR@_FOUND False)
+ endif()
+
+ # Legacy stuff for old-style import
# set the LIBRARIES variable
get_target_property(TELEPATHY_QT at QT_VERSION_MAJOR@_LIBRARIES
More information about the telepathy-commits
mailing list