summaryrefslogtreecommitdiffstats
path: root/src/qdbus
diff options
context:
space:
mode:
authorStephen Kelly <stephen.kelly@kdab.com>2012-02-27 18:13:10 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-28 20:44:58 +0100
commit3a98e886dd9659f11e68d84fd742a71e1ad62741 (patch)
tree4d0694378355c3821c575ecf1c902b13ce349aff /src/qdbus
parente0a49e7242ad04fc51b8510378d689a6162a06d4 (diff)
Fix for Qt with specified bindir.
Change-Id: Ie4492269e8a7cd35959584bf09c02d4af5303917 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Alexander Neundorf <neundorf@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Diffstat (limited to 'src/qdbus')
-rw-r--r--src/qdbus/Qt5DBusToolsConfig.cmake.in9
-rw-r--r--src/qdbus/qdbus.pro21
2 files changed, 27 insertions, 3 deletions
diff --git a/src/qdbus/Qt5DBusToolsConfig.cmake.in b/src/qdbus/Qt5DBusToolsConfig.cmake.in
index 1d9907eed..913f63d47 100644
--- a/src/qdbus/Qt5DBusToolsConfig.cmake.in
+++ b/src/qdbus/Qt5DBusToolsConfig.cmake.in
@@ -1,7 +1,12 @@
get_filename_component(_qt5_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
-set(QT_DBUSCPP2XML_EXECUTABLE \"${_qt5_install_prefix}/bin/qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
-set(QT_DBUSXML2CPP_EXECUTABLE \"${_qt5_install_prefix}/bin/qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
+!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+set(QT_DBUSCPP2XML_EXECUTABLE \"${_qt5_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
+set(QT_DBUSXML2CPP_EXECUTABLE \"${_qt5_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
+!!ELSE
+set(QT_DBUSCPP2XML_EXECUTABLE \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
+set(QT_DBUSXML2CPP_EXECUTABLE \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
+!!ENDIF
include(\"${CMAKE_CURRENT_LIST_DIR}/Qt5DBusToolsMacros.cmake\")
diff --git a/src/qdbus/qdbus.pro b/src/qdbus/qdbus.pro
index 33897cb39..038de51f1 100644
--- a/src/qdbus/qdbus.pro
+++ b/src/qdbus/qdbus.pro
@@ -3,7 +3,26 @@ SUBDIRS = qdbus qdbusxml2cpp qdbuscpp2xml
!contains(QT_CONFIG, no-gui): SUBDIRS += qdbusviewer
win32:CMAKE_BIN_SUFFIX = ".exe"
-CMAKE_RELATIVE_INSTALL_DIR = "../../../"
+
+CMAKE_QT_INSTALL_PREFIX = $$replace($$list($$[QT_INSTALL_PREFIX]), \\\\, /)/
+CMAKE_QT_INSTALL_PREFIX_ESCAPED = "^$$re_escape($$CMAKE_QT_INSTALL_PREFIX)"
+
+CMAKE_LIB_DIR = $$replace($$list($$[QT_INSTALL_LIBS]), \\\\, /)/
+contains(CMAKE_LIB_DIR, "$${CMAKE_QT_INSTALL_PREFIX_ESCAPED}.*") {
+ CMAKE_LIB_DIR = $$replace(CMAKE_LIB_DIR, "$$CMAKE_QT_INSTALL_PREFIX_ESCAPED", )
+ CMAKE_RELATIVE_INSTALL_DIR = $$replace(CMAKE_LIB_DIR, "[^/]+", ..)
+ # We need to go up another two levels because the CMake files are
+ # installed in $${CMAKE_LIB_DIR}/cmake/Qt5$${CMAKE_MODULE_NAME}
+ CMAKE_RELATIVE_INSTALL_DIR = "$${CMAKE_RELATIVE_INSTALL_DIR}/../../"
+}
+
+CMAKE_BIN_DIR = $$replace($$list($$[QT_INSTALL_BINS]), \\\\, /)/
+contains(CMAKE_BIN_DIR, "$${CMAKE_QT_INSTALL_PREFIX_ESCAPED}.*") {
+ CMAKE_BIN_DIR = $$replace(CMAKE_BIN_DIR, "$$CMAKE_QT_INSTALL_PREFIX_ESCAPED", )
+} else {
+ CMAKE_BIN_DIR_IS_ABSOLUTE = True
+}
+
cmake_dbus_config_file.input = $$PWD/Qt5DBusToolsConfig.cmake.in
cmake_dbus_config_file.output = $$OUT_PWD/Qt5DBusToolsConfig.cmake
QMAKE_SUBSTITUTES += cmake_dbus_config_file