aboutsummaryrefslogtreecommitdiff
path: root/modules/ECMGeneratePriFile.cmake
diff options
context:
space:
mode:
authorAleix Pol <aleixpol@kde.org>2016-07-18 14:45:02 +0200
committerAleix Pol <aleixpol@kde.org>2016-07-18 14:45:20 +0200
commit5bb92992317a6cf878c823cadac6dd0ccff969d6 (patch)
tree5002c038185ca0fe0447faffa91e94e5cb73ce4e /modules/ECMGeneratePriFile.cmake
parent5d10e167854af172b785b5d1f6b50baa09ddb87b (diff)
downloadextra-cmake-modules-5bb92992317a6cf878c823cadac6dd0ccff969d6.tar.gz
extra-cmake-modules-5bb92992317a6cf878c823cadac6dd0ccff969d6.tar.bz2
Make sure ECMGeneratePriFile.cmake behaves like the rest of ECM
In KDEInstallDirs we have some code to make sure that qmake is asked when the project shares the prefix with the installed Qt, to make sure that if something was changed in the distribution it would reflect on the projects. Make sure PRI files are installed using the same reasoning. REVIEW: 128427
Diffstat (limited to 'modules/ECMGeneratePriFile.cmake')
-rw-r--r--modules/ECMGeneratePriFile.cmake16
1 files changed, 14 insertions, 2 deletions
diff --git a/modules/ECMGeneratePriFile.cmake b/modules/ECMGeneratePriFile.cmake
index af4b8771..098431de 100644
--- a/modules/ECMGeneratePriFile.cmake
+++ b/modules/ECMGeneratePriFile.cmake
@@ -84,11 +84,23 @@
# (To distribute this file outside of extra-cmake-modules, substitute the full
# License text for the above reference.)
-if(KDE_INSTALL_USE_QT_SYS_PATHS)
+
+# Replicate the logic from KDEInstallDirs.cmake as we can't depend on it
+# Ask qmake if we're using the same prefix as Qt
+set(_askqmake OFF)
+if(NOT DEFINED KDE_INSTALL_USE_QT_SYS_PATHS)
+ include(ECMQueryQmake)
+ query_qmake(qt_install_prefix_dir QT_INSTALL_PREFIX)
+ if(qt_install_prefix_dir STREQUAL "${CMAKE_INSTALL_PREFIX}")
+ set(_askqmake ON)
+ endif()
+endif()
+
+if(KDE_INSTALL_USE_QT_SYS_PATHS OR _askqmake)
include(ECMQueryQmake)
query_qmake(qt_host_data_dir QT_HOST_DATA)
set(ECM_MKSPECS_INSTALL_DIR ${qt_host_data_dir}/mkspecs/modules CACHE PATH "The directory where mkspecs will be installed to.")
-else ()
+else()
set(ECM_MKSPECS_INSTALL_DIR mkspecs/modules CACHE PATH "The directory where mkspecs will be installed to.")
endif()