aboutsummaryrefslogtreecommitdiff
path: root/kde-modules
diff options
context:
space:
mode:
authorRohan Garg <rohan16garg@gmail.com>2014-09-03 14:28:14 +0200
committerRohan Garg <rohan16garg@gmail.com>2014-09-03 14:28:14 +0200
commit96e7fb9969b761cce956a3500ede3b1c6cb29c65 (patch)
tree0db7e79e5523cdaf22bb9d95124d99042a5ff667 /kde-modules
parent5d6171f4c3a3f87e4e7114131304028b8b54941b (diff)
downloadextra-cmake-modules-96e7fb9969b761cce956a3500ede3b1c6cb29c65.tar.gz
extra-cmake-modules-96e7fb9969b761cce956a3500ede3b1c6cb29c65.tar.bz2
Fix ECM to use qmake instead of hardcoding plugin install dirs
Packagers and other interested folks should pass -DKDE_INSTALL_USE_QT_SYS_PATHS=ON when building in order to install various files to the same dir as the Qt5 install dirs. CCMAIL: kde-packagers@kde.org REVIEW: 119901
Diffstat (limited to 'kde-modules')
-rw-r--r--kde-modules/KDEInstallDirs.cmake42
1 files changed, 27 insertions, 15 deletions
diff --git a/kde-modules/KDEInstallDirs.cmake b/kde-modules/KDEInstallDirs.cmake
index 880539b7..54eb49cc 100644
--- a/kde-modules/KDEInstallDirs.cmake
+++ b/kde-modules/KDEInstallDirs.cmake
@@ -162,11 +162,6 @@
# (To distribute this file outside of extra-cmake-modules, substitute the full
# License text for the above reference.)
-
-# TODO:
-# - Try to figure out proper Qt-related dirs when installing to the same
-# prefix as Qt (look for qtpaths)
-
# Figure out what the default install directory for libraries should be.
# This is based on the logic in GNUInstallDirs, but simplified (the
# GNUInstallDirs code deals with re-configuring, but that is dealt with
@@ -199,7 +194,6 @@ if((CMAKE_SYSTEM_NAME MATCHES "Linux|kFreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GN
endif()
endif()
-
# Macro for variables that are relative to another variable. We store an empty
# value in the cache (for documentation/GUI cache editor purposes), and store
# the default value in a local variable. If the cache variable is ever set to
@@ -287,7 +281,6 @@ macro(_define_absolute varname dir docstring)
_define_relative("${varname}" "" "${dir}" "${docstring}" ${ARGN})
endmacro()
-
if(APPLE)
_define_absolute(BUNDLEDIR "/Applications/KDE"
"application bundles"
@@ -328,22 +321,41 @@ _define_relative(CMAKEPACKAGEDIR LIBDIR "cmake"
"CMake packages, including config files"
CMAKECONFIG_INSTALL_PREFIX)
+option (KDE_INSTALL_USE_QT_SYS_PATHS "Install mkspecs files, Plugins and Imports to the Qt 5 install dir")
+if(KDE_INSTALL_USE_QT_SYS_PATHS)
# Qt-specific vars
-_define_relative(QTPLUGINDIR LIBDIR "plugins"
- "Qt plugins"
- QT_PLUGIN_INSTALL_DIR)
+ include(ECMQueryQmake)
+
+ query_qmake(qt_plugins_dir QT_INSTALL_PLUGINS)
+
+ _define_absolute(QTPLUGINDIR ${qt_plugins_dir}
+ "Qt plugins"
+ QT_PLUGIN_INSTALL_DIR)
+
+ query_qmake(qt_imports_dir QT_INSTALL_IMPORTS)
+
+ _define_absolute(QTQUICKIMPORTSDIR QTPLUGINDIR ${qt_imports_dir}
+ "QtQuick1 imports"
+ IMPORTS_INSTALL_DIR)
+
+else()
+ _define_relative(QTPLUGINDIR LIBDIR "plugins"
+ "Qt plugins"
+ QT_PLUGIN_INSTALL_DIR)
+
+ _define_relative(QTQUICKIMPORTSDIR QTPLUGINDIR "imports"
+ "QtQuick1 imports"
+ IMPORTS_INSTALL_DIR)
+endif()
+
_define_relative(PLUGINDIR QTPLUGINDIR ""
"Plugins"
PLUGIN_INSTALL_DIR)
-_define_relative(QTQUICKIMPORTSDIR QTPLUGINDIR "imports"
- "QtQuick1 imports"
- IMPORTS_INSTALL_DIR)
+
_define_relative(QMLDIR LIBDIR "qml"
"QtQuick2 imports"
QML_INSTALL_DIR)
-
-
_define_absolute(INCLUDEDIR "include"
"C and C++ header files"
INCLUDE_INSTALL_DIR)