summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Akulich <akulichalexander@gmail.com>2019-11-08 21:57:35 +0300
committerAlexander Akulich <akulichalexander@gmail.com>2019-11-09 01:09:11 +0300
commitce34fcf4cc626679d924caeb141f48ed263609dd (patch)
treefc3c9e65e0269a7c53c855e5a54b526b9ee402f8
parent9f2efa90ffae9c3e8e626e9ff7bbc0cd6fb7bd6a (diff)
CMake/Config.cmake: Get paths from imported targets
-rw-r--r--TelepathyQt/TelepathyQtConfig.cmake.in39
-rw-r--r--TelepathyQt/TelepathyQtServiceConfig.cmake.in37
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@QT_VERSION_MAJOR@_FOUND)
endif()
unset(_QT_COMPONENTS)
- # set the directories
- if(NOT TELEPATHY_QT@QT_VERSION_MAJOR@_INSTALL_DIR)
- set_and_check(TELEPATHY_QT@QT_VERSION_MAJOR@_INSTALL_DIR "@PACKAGE_CMAKE_INSTALL_PREFIX@")
- endif()
-
- set_and_check(TELEPATHY_QT@QT_VERSION_MAJOR@_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@/telepathy-qt@QT_VERSION_MAJOR@")
- set_and_check(TELEPATHY_QT@QT_VERSION_MAJOR@_LIB_DIR "@PACKAGE_LIB_INSTALL_DIR@")
-
# attempt to find the generated TelepathyQt4Targets.cmake in the same directory
get_filename_component(_TPQT@QT_VERSION_MAJOR@_CONFIG_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
find_file(_TPQT@QT_VERSION_MAJOR@_TARGETS_FILE TelepathyQt@QT_VERSION_MAJOR@Targets.cmake PATHS ${_TPQT@QT_VERSION_MAJOR@_CONFIG_DIR} NO_DEFAULT_PATH)
- # set the TELEPATHY_QT@QT_VERSION_MAJOR@_LIBRARIES variable
include(${_TPQT@QT_VERSION_MAJOR@_TARGETS_FILE})
- set(TELEPATHY_QT@QT_VERSION_MAJOR@_LIBRARIES telepathy-qt@QT_VERSION_MAJOR@)
+
+ # set the directories
+
+ # set the LIBRARIES variable
+ get_target_property(TELEPATHY_QT@QT_VERSION_MAJOR@_LIBRARIES
+ TelepathyQt@QT_VERSION_MAJOR@::Core
+ IMPORTED_LOCATION
+ )
+
+ if(NOT TELEPATHY_QT@QT_VERSION_MAJOR@_LIBRARIES)
+ # If there is no default IMPORTED_LOCATION then get all configurations...
+ get_target_property(_IMPORTED_CONFIGURATIONS
+ TelepathyQt@QT_VERSION_MAJOR@::Core
+ IMPORTED_CONFIGURATIONS
+ )
+ # ... and pick up the first one
+ list(GET _IMPORTED_CONFIGURATIONS 0 _SELECTED_CONFIGURATION)
+ get_target_property(TELEPATHY_QT@QT_VERSION_MAJOR@_LIBRARIES
+ TelepathyQt@QT_VERSION_MAJOR@::Core
+ IMPORTED_LOCATION_${_SELECTED_CONFIGURATION}
+ )
+ unset(_IMPORTED_CONFIGURATIONS)
+ unset(_SELECTED_CONFIGURATION)
+ endif()
+
+ get_target_property(TELEPATHY_QT@QT_VERSION_MAJOR@_INCLUDE_DIR
+ TelepathyQt@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@QT_VERSION_MAJOR@_SERVICE_VERSION_MICRO @TP_QT_MICRO_VERSION@)
set(TELEPATHY_QT@QT_VERSION_MAJOR@_SERVICE_VERSION_NANO @TP_QT_NANO_VERSION@)
set(TELEPATHY_QT@QT_VERSION_MAJOR@_SERVICE_VERSION @PACKAGE_VERSION@)
-# set the directories
-if(NOT TELEPATHY_QT@QT_VERSION_MAJOR@_SERVICE_INSTALL_DIR)
- set_and_check(TELEPATHY_QT@QT_VERSION_MAJOR@_SERVICE_INSTALL_DIR "@PACKAGE_CMAKE_INSTALL_PREFIX@")
-endif()
+find_package(TelepathyQt@QT_VERSION_MAJOR@)
-set_and_check(TELEPATHY_QT@QT_VERSION_MAJOR@_SERVICE_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@/telepathy-qt@QT_VERSION_MAJOR@")
-set_and_check(TELEPATHY_QT@QT_VERSION_MAJOR@_SERVICE_LIB_DIR "@PACKAGE_LIB_INSTALL_DIR@")
+# set the directories
+if(TARGET TelepathyQt@QT_VERSION_MAJOR@::Service)
+ # set the LIBRARIES variable
+ get_target_property(TELEPATHY_QT@QT_VERSION_MAJOR@_SERVICE_LIBRARIES
+ TelepathyQt@QT_VERSION_MAJOR@::Service
+ IMPORTED_LOCATION
+ )
-find_package(TelepathyQt@QT_VERSION_MAJOR@ REQUIRED)
+ if(NOT TELEPATHY_QT@QT_VERSION_MAJOR@_SERVICE_LIBRARIES)
+ # If there is no default IMPORTED_LOCATION then get all configurations...
+ get_target_property(_IMPORTED_CONFIGURATIONS
+ TelepathyQt@QT_VERSION_MAJOR@::Service
+ IMPORTED_CONFIGURATIONS
+ )
+ # ... and pick up the first one
+ list(GET _IMPORTED_CONFIGURATIONS 0 _SELECTED_CONFIGURATION)
+ get_target_property(TELEPATHY_QT@QT_VERSION_MAJOR@_SERVICE_LIBRARIES
+ TelepathyQt@QT_VERSION_MAJOR@::Service
+ IMPORTED_LOCATION_${_SELECTED_CONFIGURATION}
+ )
+ unset(_IMPORTED_CONFIGURATIONS)
+ unset(_SELECTED_CONFIGURATION)
+ endif()
-set(TELEPATHY_QT@QT_VERSION_MAJOR@_SERVICE_LIBRARIES telepathy-qt@QT_VERSION_MAJOR@-service)
+ message(STATUS "TELEPATHY_QT_SERVICE_LIBRARIES Libs: ${TELEPATHY_QT@QT_VERSION_MAJOR@_SERVICE_LIBRARIES}")
+ get_target_property(TELEPATHY_QT@QT_VERSION_MAJOR@_SERVICE_INCLUDE_DIR
+ TelepathyQt@QT_VERSION_MAJOR@::Service
+ INTERFACE_INCLUDE_DIRECTORIES
+ )
+endif()