telepathy-qt: CMake/Config.cmake: Get paths from imported targets
Alexandr Akulich
kaffeine at kemper.freedesktop.org
Mon Nov 11 17:28:15 UTC 2019
Module: telepathy-qt
Branch: master
Commit: ce34fcf4cc626679d924caeb141f48ed263609dd
URL: http://cgit.freedesktop.org/telepathy/telepathy-qt/commit/?id=ce34fcf4cc626679d924caeb141f48ed263609dd
Author: Alexander Akulich <akulichalexander at gmail.com>
Date: Fri Nov 8 21:57:35 2019 +0300
CMake/Config.cmake: Get paths from imported targets
---
TelepathyQt/TelepathyQtConfig.cmake.in | 39 ++++++++++++++++++++-------
TelepathyQt/TelepathyQtServiceConfig.cmake.in | 37 +++++++++++++++++++------
2 files changed, 58 insertions(+), 18 deletions(-)
diff --git a/TelepathyQt/TelepathyQtConfig.cmake.in b/TelepathyQt/TelepathyQtConfig.cmake.in
index e841b3ad..fa474951 100644
--- a/TelepathyQt/TelepathyQtConfig.cmake.in
+++ b/TelepathyQt/TelepathyQtConfig.cmake.in
@@ -28,19 +28,38 @@ if(NOT TelepathyQt at QT_VERSION_MAJOR@_FOUND)
endif()
unset(_QT_COMPONENTS)
- # set the directories
- if(NOT TELEPATHY_QT at QT_VERSION_MAJOR@_INSTALL_DIR)
- set_and_check(TELEPATHY_QT at QT_VERSION_MAJOR@_INSTALL_DIR "@PACKAGE_CMAKE_INSTALL_PREFIX@")
- endif()
-
- set_and_check(TELEPATHY_QT at QT_VERSION_MAJOR@_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@/telepathy-qt at QT_VERSION_MAJOR@")
- set_and_check(TELEPATHY_QT at QT_VERSION_MAJOR@_LIB_DIR "@PACKAGE_LIB_INSTALL_DIR@")
-
# attempt to find the generated TelepathyQt4Targets.cmake 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)
- # set the TELEPATHY_QT at QT_VERSION_MAJOR@_LIBRARIES variable
include(${_TPQT at QT_VERSION_MAJOR@_TARGETS_FILE})
- set(TELEPATHY_QT at QT_VERSION_MAJOR@_LIBRARIES telepathy-qt at QT_VERSION_MAJOR@)
+
+ # set the directories
+
+ # set the LIBRARIES variable
+ get_target_property(TELEPATHY_QT at QT_VERSION_MAJOR@_LIBRARIES
+ TelepathyQt at QT_VERSION_MAJOR@::Core
+ IMPORTED_LOCATION
+ )
+
+ if(NOT TELEPATHY_QT at QT_VERSION_MAJOR@_LIBRARIES)
+ # If there is no default IMPORTED_LOCATION then get all configurations...
+ get_target_property(_IMPORTED_CONFIGURATIONS
+ TelepathyQt at QT_VERSION_MAJOR@::Core
+ IMPORTED_CONFIGURATIONS
+ )
+ # ... and pick up the first one
+ list(GET _IMPORTED_CONFIGURATIONS 0 _SELECTED_CONFIGURATION)
+ get_target_property(TELEPATHY_QT at QT_VERSION_MAJOR@_LIBRARIES
+ TelepathyQt at QT_VERSION_MAJOR@::Core
+ IMPORTED_LOCATION_${_SELECTED_CONFIGURATION}
+ )
+ unset(_IMPORTED_CONFIGURATIONS)
+ unset(_SELECTED_CONFIGURATION)
+ endif()
+
+ get_target_property(TELEPATHY_QT at QT_VERSION_MAJOR@_INCLUDE_DIR
+ TelepathyQt at QT_VERSION_MAJOR@::Core
+ INTERFACE_INCLUDE_DIRECTORIES
+ )
endif()
diff --git a/TelepathyQt/TelepathyQtServiceConfig.cmake.in b/TelepathyQt/TelepathyQtServiceConfig.cmake.in
index eec1aed8..687435b6 100644
--- a/TelepathyQt/TelepathyQtServiceConfig.cmake.in
+++ b/TelepathyQt/TelepathyQtServiceConfig.cmake.in
@@ -10,14 +10,35 @@ set(TELEPATHY_QT at QT_VERSION_MAJOR@_SERVICE_VERSION_MICRO @TP_QT_MICRO_VERSION@)
set(TELEPATHY_QT at QT_VERSION_MAJOR@_SERVICE_VERSION_NANO @TP_QT_NANO_VERSION@)
set(TELEPATHY_QT at QT_VERSION_MAJOR@_SERVICE_VERSION @PACKAGE_VERSION@)
-# set the directories
-if(NOT TELEPATHY_QT at QT_VERSION_MAJOR@_SERVICE_INSTALL_DIR)
- set_and_check(TELEPATHY_QT at QT_VERSION_MAJOR@_SERVICE_INSTALL_DIR "@PACKAGE_CMAKE_INSTALL_PREFIX@")
-endif()
+find_package(TelepathyQt at QT_VERSION_MAJOR@)
-set_and_check(TELEPATHY_QT at QT_VERSION_MAJOR@_SERVICE_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@/telepathy-qt at QT_VERSION_MAJOR@")
-set_and_check(TELEPATHY_QT at QT_VERSION_MAJOR@_SERVICE_LIB_DIR "@PACKAGE_LIB_INSTALL_DIR@")
+# set the directories
+if(TARGET TelepathyQt at QT_VERSION_MAJOR@::Service)
+ # set the LIBRARIES variable
+ get_target_property(TELEPATHY_QT at QT_VERSION_MAJOR@_SERVICE_LIBRARIES
+ TelepathyQt at QT_VERSION_MAJOR@::Service
+ IMPORTED_LOCATION
+ )
-find_package(TelepathyQt at QT_VERSION_MAJOR@ REQUIRED)
+ if(NOT TELEPATHY_QT at QT_VERSION_MAJOR@_SERVICE_LIBRARIES)
+ # If there is no default IMPORTED_LOCATION then get all configurations...
+ get_target_property(_IMPORTED_CONFIGURATIONS
+ TelepathyQt at QT_VERSION_MAJOR@::Service
+ IMPORTED_CONFIGURATIONS
+ )
+ # ... and pick up the first one
+ list(GET _IMPORTED_CONFIGURATIONS 0 _SELECTED_CONFIGURATION)
+ get_target_property(TELEPATHY_QT at QT_VERSION_MAJOR@_SERVICE_LIBRARIES
+ TelepathyQt at QT_VERSION_MAJOR@::Service
+ IMPORTED_LOCATION_${_SELECTED_CONFIGURATION}
+ )
+ unset(_IMPORTED_CONFIGURATIONS)
+ unset(_SELECTED_CONFIGURATION)
+ endif()
-set(TELEPATHY_QT at QT_VERSION_MAJOR@_SERVICE_LIBRARIES telepathy-qt at QT_VERSION_MAJOR@-service)
+ message(STATUS "TELEPATHY_QT_SERVICE_LIBRARIES Libs: ${TELEPATHY_QT at QT_VERSION_MAJOR@_SERVICE_LIBRARIES}")
+ get_target_property(TELEPATHY_QT at QT_VERSION_MAJOR@_SERVICE_INCLUDE_DIR
+ TelepathyQt at QT_VERSION_MAJOR@::Service
+ INTERFACE_INCLUDE_DIRECTORIES
+ )
+endif()
More information about the telepathy-commits
mailing list