summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVolker Krause <volker.krause@kdab.com>2019-06-05 15:29:20 +0200
committerAlexandru Croitor <alexandru.croitor@qt.io>2019-06-05 14:59:48 +0000
commit64f17cca0449c4bcd2ba3590e0e9c481be46ac4c (patch)
tree5b358be12c0a49d5eb33a3ba2c8e61ebb3769912 /src
parent1143b07948340449158bddd3ec123cf2755b42e2 (diff)
Export installation locations compatible with qmake -query
Change-Id: I634bd1036ce197602d4acaf4535ab43227d120a8 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/corelib/CMakeLists.txt10
-rw-r--r--src/corelib/Qt5CoreConfigExtras.cmake.in17
2 files changed, 27 insertions, 0 deletions
diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt
index 0cc5cf3f10..1932af8b6d 100644
--- a/src/corelib/CMakeLists.txt
+++ b/src/corelib/CMakeLists.txt
@@ -10,6 +10,16 @@ if (NOT WrapDoubleConversion_FOUND)
sscanf_l/snprintf_l _snprintf_l/_sscanf_l. \
You need to use libdouble-conversion for double/string conversion.")
endif()
+
+# compute the reverse relative path from QtCoreConfigExtras to the install prefix
+# this is used in QtCoreConfigExtras to make its install paths relocatable
+if(QT_WILL_INSTALL)
+ get_filename_component(_clean_prefix "${CMAKE_INSTALL_PREFIX}/${QT_CONFIG_INSTALL_DIR}" ABSOLUTE)
+else()
+ get_filename_component(_clean_prefix "${QT_CONFIG_BUILD_DIR}" ABSOLUTE)
+endif()
+file(RELATIVE_PATH QT_INVERSE_CONFIG_INSTALL_DIR ${_clean_prefix} ${CMAKE_INSTALL_PREFIX})
+
# special case end
#####################################################################
diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in
index 5fe0fd5252..298dbe7e04 100644
--- a/src/corelib/Qt5CoreConfigExtras.cmake.in
+++ b/src/corelib/Qt5CoreConfigExtras.cmake.in
@@ -33,3 +33,20 @@ if (NOT QT_NO_CREATE_TARGETS)
set_property(TARGET @QT_CMAKE_EXPORT_NAMESPACE@::Core APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS $<$<NOT:$<CONFIG:Debug>>:QT_NO_DEBUG>)
set_property(TARGET @QT_CMAKE_EXPORT_NAMESPACE@::Core PROPERTY INTERFACE_COMPILE_FEATURES cxx_decltype)
endif()
+
+# install layout information, following what qmake -query provides
+get_filename_component(QT@PROJECT_VERSION_MAJOR@_INSTALL_PREFIX ${CMAKE_CURRENT_LIST_DIR}/../@QT_INVERSE_CONFIG_INSTALL_DIR@ ABSOLUTE)
+set(QT@PROJECT_VERSION_MAJOR@_INSTALL_ARCHDATA ${QT@PROJECT_VERSION_MAJOR@_INSTALL_PREFIX}/@INSTALL_ARCHDATADIR@)
+set(QT@PROJECT_VERSION_MAJOR@_INSTALL_BINS ${QT@PROJECT_VERSION_MAJOR@_INSTALL_PREFIX}/@INSTALL_BINDIR@)
+set(QT@PROJECT_VERSION_MAJOR@_INSTALL_CONFIGURATION ${QT@PROJECT_VERSION_MAJOR@_INSTALL_PREFIX}/@INSTALL_SYSCONFDIR@)
+set(QT@PROJECT_VERSION_MAJOR@_INSTALL_DATA ${QT@PROJECT_VERSION_MAJOR@_INSTALL_PREFIX}/@INSTALL_DATADIR@)
+set(QT@PROJECT_VERSION_MAJOR@_INSTALL_DOCS ${QT@PROJECT_VERSION_MAJOR@_INSTALL_PREFIX}/@INSTALL_DOCDIR@)
+set(QT@PROJECT_VERSION_MAJOR@_INSTALL_EXAMPLES ${QT@PROJECT_VERSION_MAJOR@_INSTALL_PREFIX}/@INSTALL_EXAMPLESDIR@)
+set(QT@PROJECT_VERSION_MAJOR@_INSTALL_HEADERS ${QT@PROJECT_VERSION_MAJOR@_INSTALL_PREFIX}/@INSTALL_INCLUDEDIR@)
+set(QT@PROJECT_VERSION_MAJOR@_INSTALL_IMPORTS ${QT@PROJECT_VERSION_MAJOR@_INSTALL_PREFIX}/@INSTALL_IMPORTDIR@)
+set(QT@PROJECT_VERSION_MAJOR@_INSTALL_LIBS ${QT@PROJECT_VERSION_MAJOR@_INSTALL_PREFIX}/@INSTALL_LIBDIR@)
+set(QT@PROJECT_VERSION_MAJOR@_INSTALL_LIBEXECS ${QT@PROJECT_VERSION_MAJOR@_INSTALL_PREFIX}/@INSTALL_LIBEXECDIR@)
+set(QT@PROJECT_VERSION_MAJOR@_INSTALL_PLUGINS ${QT@PROJECT_VERSION_MAJOR@_INSTALL_PREFIX}/@INSTALL_PLUGINSDIR@)
+set(QT@PROJECT_VERSION_MAJOR@_INSTALL_QML ${QT@PROJECT_VERSION_MAJOR@_INSTALL_PREFIX}/@INSTALL_QMLDIR@)
+set(QT@PROJECT_VERSION_MAJOR@_INSTALL_TESTS ${QT@PROJECT_VERSION_MAJOR@_INSTALL_PREFIX}/@INSTALL_TESTSDIR@)
+set(QT@PROJECT_VERSION_MAJOR@_INSTALL_TRANSLATIONS ${QT@PROJECT_VERSION_MAJOR@_INSTALL_PREFIX}/@INSTALL_TRANSLATIONSDIR@)