diff options
author | Alexander Akulich <akulichalexander@gmail.com> | 2019-11-08 21:57:35 +0300 |
---|---|---|
committer | Alexander Akulich <akulichalexander@gmail.com> | 2019-11-09 01:09:11 +0300 |
commit | ce34fcf4cc626679d924caeb141f48ed263609dd (patch) | |
tree | fc3c9e65e0269a7c53c855e5a54b526b9ee402f8 | |
parent | 9f2efa90ffae9c3e8e626e9ff7bbc0cd6fb7bd6a (diff) |
CMake/Config.cmake: Get paths from imported targets
-rw-r--r-- | TelepathyQt/TelepathyQtConfig.cmake.in | 39 | ||||
-rw-r--r-- | 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@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() |