diff options
Diffstat (limited to 'mkspecs/features')
-rw-r--r-- | mkspecs/features/create_cmake.prf | 41 | ||||
-rw-r--r-- | mkspecs/features/ctest_testcase.prf | 3 | ||||
-rw-r--r-- | mkspecs/features/data/headersclean/tst_headersclean.cpp.in | 2 | ||||
-rw-r--r-- | mkspecs/features/qml_plugin.prf | 9 | ||||
-rw-r--r-- | mkspecs/features/qt_module.prf | 4 | ||||
-rw-r--r-- | mkspecs/features/qt_plugin.prf | 10 | ||||
-rw-r--r-- | mkspecs/features/qt_targets.prf | 2 |
7 files changed, 45 insertions, 26 deletions
diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf index 63001f3e89..88b0e9ad8e 100644 --- a/mkspecs/features/create_cmake.prf +++ b/mkspecs/features/create_cmake.prf @@ -25,44 +25,43 @@ defineReplace(cmakeModuleList) { return ($$join(out, ";")) } +defineReplace(cmakeRelativePath) { + path = $$relative_path($$1, $$2) + return($$replace(path, ([^/])$, \\1/)) +} + CMAKE_MODULE_NAME = $$cmakeModuleName($${MODULE}) CMAKE_MODULE_DEPS = $$cmakeModuleList($$sort_depends(QT.$${MODULE}.depends, QT.)) CMAKE_PARTIAL_MODULE_DEPS = $$replace(CMAKE_MODULE_DEPS, ";", ";Qt5::") !isEmpty(CMAKE_PARTIAL_MODULE_DEPS):CMAKE_QT5_MODULE_DEPS = "Qt5::$${CMAKE_PARTIAL_MODULE_DEPS}" -CMAKE_QT_INSTALL_PREFIX = $$[QT_INSTALL_PREFIX]/ -CMAKE_QT_INSTALL_PREFIX_ESCAPED = "^$$re_escape($$CMAKE_QT_INSTALL_PREFIX)" - -CMAKE_INCLUDE_DIR = $$[QT_INSTALL_HEADERS]/ -contains(CMAKE_INCLUDE_DIR, "$${CMAKE_QT_INSTALL_PREFIX_ESCAPED}.*") { - CMAKE_INCLUDE_DIR = $$replace(CMAKE_INCLUDE_DIR, "$$CMAKE_QT_INSTALL_PREFIX_ESCAPED", ) -} else { +CMAKE_INCLUDE_DIR = $$cmakeRelativePath($$[QT_INSTALL_HEADERS], $$[QT_INSTALL_PREFIX]) +contains(CMAKE_INCLUDE_DIR, "^\.\.") { + CMAKE_INCLUDE_DIR = $$[QT_INSTALL_HEADERS]/ CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True } -CMAKE_LIB_DIR = $$[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, "[^/]+", ..) +CMAKE_LIB_DIR = $$cmakeRelativePath($$[QT_INSTALL_LIBS], $$[QT_INSTALL_PREFIX]) +contains(CMAKE_LIB_DIR, "^\.\.") { + CMAKE_LIB_DIR = $$[QT_INSTALL_LIBS]/ + CMAKE_LIB_DIR_IS_ABSOLUTE = True +} else { + CMAKE_RELATIVE_INSTALL_DIR = $$cmakeRelativePath($$[QT_INSTALL_PREFIX], $$[QT_INSTALL_LIBS]) # 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}../../" -} else { - CMAKE_LIB_DIR_IS_ABSOLUTE = True } -CMAKE_BIN_DIR = $$[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 = $$cmakeRelativePath($$[QT_HOST_BINS], $$[QT_INSTALL_PREFIX]) +contains(CMAKE_BIN_DIR, "^\.\.") { + CMAKE_BIN_DIR = $$[QT_HOST_BINS]/ CMAKE_BIN_DIR_IS_ABSOLUTE = True } -CMAKE_ARCHDATA_DIR = $$[QT_INSTALL_ARCHDATA]/ # For the mkspecs -contains(CMAKE_ARCHDATA_DIR, "$${CMAKE_QT_INSTALL_PREFIX_ESCAPED}.*") { - CMAKE_ARCHDATA_DIR = $$replace(CMAKE_ARCHDATA_DIR, "$$CMAKE_QT_INSTALL_PREFIX_ESCAPED", ) -} else { +CMAKE_ARCHDATA_DIR = $$cmakeRelativePath($$[QT_INSTALL_ARCHDATA], $$[QT_INSTALL_PREFIX]) +contains(CMAKE_ARCHDATA_DIR, "^\.\.") { # For the mkspecs + CMAKE_ARCHDATA_DIR = $$[QT_INSTALL_ARCHDATA]/ CMAKE_ARCHDATA_DIR_IS_ABSOLUTE = True } diff --git a/mkspecs/features/ctest_testcase.prf b/mkspecs/features/ctest_testcase.prf index 93ebd4607d..7f86ca0052 100644 --- a/mkspecs/features/ctest_testcase.prf +++ b/mkspecs/features/ctest_testcase.prf @@ -33,6 +33,7 @@ isEmpty(CMAKE_VERSION) { } else { CMAKE_BUILD_TYPE = Debug CONFIG(release, debug|release):CMAKE_BUILD_TYPE = Release + win32-g++*:CMAKE_GENERATOR = -G \"MinGW Makefiles\" BUILD_DIR = $$replace($$list($$OUT_PWD/build), /, $$QMAKE_DIR_SEP) @@ -42,7 +43,7 @@ isEmpty(CMAKE_VERSION) { check.commands = \ $(MKDIR) $$BUILD_DIR && cd $$BUILD_DIR && \ - cmake $$_PRO_FILE_PWD_ -DCMAKE_BUILD_TYPE=$${CMAKE_BUILD_TYPE} -DCMAKE_PREFIX_PATH=\"$$join(CMAKE_PREFIX_PATH, ;)\" && \ + cmake $$_PRO_FILE_PWD_ $$CMAKE_GENERATOR -DCMAKE_BUILD_TYPE=$${CMAKE_BUILD_TYPE} -DCMAKE_PREFIX_PATH=\"$$join(CMAKE_PREFIX_PATH, ;)\" && \ $(TESTRUNNER) ctest --output-on-failure } diff --git a/mkspecs/features/data/headersclean/tst_headersclean.cpp.in b/mkspecs/features/data/headersclean/tst_headersclean.cpp.in index c3aa9a9562..3cbcdd72c1 100644 --- a/mkspecs/features/data/headersclean/tst_headersclean.cpp.in +++ b/mkspecs/features/data/headersclean/tst_headersclean.cpp.in @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the test suite of the Qt Toolkit. diff --git a/mkspecs/features/qml_plugin.prf b/mkspecs/features/qml_plugin.prf index 7abd372e49..f9beabdc18 100644 --- a/mkspecs/features/qml_plugin.prf +++ b/mkspecs/features/qml_plugin.prf @@ -89,3 +89,12 @@ load(qt_targets) } load(qml_module) + +unix|win32-g++* { + !isEmpty(_QMAKE_SUPER_CACHE_): \ + lib_replace.match = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]*/lib + else: \ + lib_replace.match = $$eval(QT.$${CXX_MODULE}.libs) + lib_replace.replace = $$[QT_INSTALL_LIBS/raw] + QMAKE_PRL_INSTALL_REPLACE += lib_replace +} diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index 855251425c..8dce2634ca 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -132,17 +132,17 @@ unix|win32-g++* { !isEmpty(_QMAKE_SUPER_CACHE_): \ rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]* else: \ - rplbase = $$[QT_INSTALL_PREFIX/get] + rplbase = $$MODULE_QMAKE_OUTDIR include_replace.match = $$rplbase/include include_replace.replace = $$[QT_INSTALL_HEADERS/raw] lib_replace.match = $$rplbase/lib lib_replace.replace = $$[QT_INSTALL_LIBS/raw] QMAKE_PKGCONFIG_INSTALL_REPLACE += include_replace lib_replace + QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace } unix { CONFIG += create_libtool explicitlib - QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace QMAKE_LIBTOOL_LIBDIR = $$[QT_INSTALL_LIBS/raw] QMAKE_LIBTOOL_INSTALL_REPLACE += include_replace lib_replace } diff --git a/mkspecs/features/qt_plugin.prf b/mkspecs/features/qt_plugin.prf index 4861576eba..2ec523d78c 100644 --- a/mkspecs/features/qt_plugin.prf +++ b/mkspecs/features/qt_plugin.prf @@ -58,3 +58,13 @@ load(qt_targets) wince*:LIBS += $$QMAKE_LIBS_GUI QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF + +unix|win32-g++* { + !isEmpty(_QMAKE_SUPER_CACHE_): \ + rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]* + else: \ + rplbase = $$MODULE_QMAKE_OUTDIR + lib_replace.match = $$rplbase/lib + lib_replace.replace = $$[QT_INSTALL_LIBS/raw] + QMAKE_PRL_INSTALL_REPLACE += lib_replace +} diff --git a/mkspecs/features/qt_targets.prf b/mkspecs/features/qt_targets.prf index 65b442fc72..ce06437500 100644 --- a/mkspecs/features/qt_targets.prf +++ b/mkspecs/features/qt_targets.prf @@ -1,4 +1,4 @@ QMAKE_TARGET_COMPANY = Digia Plc and/or its subsidiary(-ies) QMAKE_TARGET_PRODUCT = Qt5 QMAKE_TARGET_DESCRIPTION = C++ application development framework. -QMAKE_TARGET_COPYRIGHT = Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). +QMAKE_TARGET_COPYRIGHT = Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). |