summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2013-06-12 14:43:54 +0200
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2013-06-12 14:43:55 +0200
commitbe4b80af8235d5f5664f03589258eec0e43da78b (patch)
tree9a5a8dcaae5d4da3632f0be8fa1af42c751ae22e /mkspecs
parent0715dc9ee32054c4a344dc7d8694cf0b8b6cbdbb (diff)
parent2d9cd8eef8652873e73d5cde6b6545eea9a17612 (diff)
Merge remote-tracking branch 'origin/release' into stable
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/features/cmake_functions.prf2
-rw-r--r--mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in6
-rw-r--r--mkspecs/features/qml_plugin.prf2
-rw-r--r--mkspecs/features/qt_android_deps.prf2
-rw-r--r--mkspecs/features/qt_build_paths.prf9
-rw-r--r--mkspecs/features/qt_config.prf6
-rw-r--r--mkspecs/features/qt_module_headers.prf6
-rw-r--r--mkspecs/features/qt_module_pris.prf52
-rw-r--r--mkspecs/features/resources.prf6
-rw-r--r--mkspecs/features/spec_post.prf2
-rw-r--r--mkspecs/features/uic.prf2
11 files changed, 59 insertions, 36 deletions
diff --git a/mkspecs/features/cmake_functions.prf b/mkspecs/features/cmake_functions.prf
index f48ef43b88..a67fd9af9b 100644
--- a/mkspecs/features/cmake_functions.prf
+++ b/mkspecs/features/cmake_functions.prf
@@ -45,7 +45,7 @@ defineReplace(cmakePortablePaths) {
variable = $$1
out =
for(v, variable) {
- out += ${CMAKE_FIND_ROOT_PATH}$$cmakeTargetPath($$v)
+ out += $$[QT_SYSROOT]$$cmakeTargetPath($$v)
}
return ($$join(out, ";"))
}
diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
index f6fd61602f..c55b728f1b 100644
--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
@@ -104,7 +104,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS)
!!ENDIF
- foreach(_dir ${_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS} ${Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS})
+ foreach(_dir ${_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS}
+!!IF isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
+ ${Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS}
+!!ENDIF
+ )
_qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${_dir})
endforeach()
diff --git a/mkspecs/features/qml_plugin.prf b/mkspecs/features/qml_plugin.prf
index 70c3bd6b66..28fbb392a7 100644
--- a/mkspecs/features/qml_plugin.prf
+++ b/mkspecs/features/qml_plugin.prf
@@ -86,7 +86,7 @@ load(qt_common)
qtAddToolEnv(QMLPLUGINDUMP, importpath)
TARGETPATHBASE = $$replace(TARGETPATH, \\.\\d+\$, )
qmltypes.target = qmltypes
- qmltypes.commands = $$QMLPLUGINDUMP $$replace(TARGETPATHBASE, /, .) $$IMPORT_VERSION > $$QMLTYPEFILE
+ qmltypes.commands = $$QMLPLUGINDUMP -nonrelocatable $$replace(TARGETPATHBASE, /, .) $$IMPORT_VERSION > $$QMLTYPEFILE
qmltypes.depends = $$QMAKE_RESOLVED_TARGET
} else {
qmltypes.CONFIG += recursive
diff --git a/mkspecs/features/qt_android_deps.prf b/mkspecs/features/qt_android_deps.prf
index c258d55687..96337da9de 100644
--- a/mkspecs/features/qt_android_deps.prf
+++ b/mkspecs/features/qt_android_deps.prf
@@ -13,7 +13,7 @@
# of the module on JNI-based libraries etc. Used for deployment of an Android
# app.
-ANDROID_DEPENDS_DIR = $$MODULE_QMAKE_OUTDIR/lib/
+ANDROID_DEPENDS_DIR = $$MODULE_BASE_OUTDIR/lib/
DEPENDENCY_FILE = $$ANDROID_DEPENDS_DIR$$TARGET-android-dependencies.xml
!build_pass {
diff --git a/mkspecs/features/qt_build_paths.prf b/mkspecs/features/qt_build_paths.prf
index 25fc2c3033..9163ac30b2 100644
--- a/mkspecs/features/qt_build_paths.prf
+++ b/mkspecs/features/qt_build_paths.prf
@@ -11,12 +11,13 @@
# Find the module's source root dir.
isEmpty(_QMAKE_CONF_): error("Project has no top-level .qmake.conf file.")
-MODULE_PROFILE_DIR = $$dirname(_QMAKE_CONF_)
-isEmpty(MODULE_BASE_DIR): MODULE_BASE_DIR = $$MODULE_PROFILE_DIR
-isEmpty(MODULE_BASE_OUTDIR): MODULE_BASE_OUTDIR = $$shadowed($$MODULE_BASE_DIR)
+MODULE_BASE_INDIR = $$dirname(_QMAKE_CONF_)
+MODULE_BASE_OUTDIR = $$shadowed($$MODULE_BASE_INDIR)
+!isEmpty(MODULE_BASE_DIR): MODULE_SYNCQT_DIR = $$MODULE_BASE_DIR # compat for webkit
+isEmpty(MODULE_SYNCQT_DIR): MODULE_SYNCQT_DIR = $$MODULE_BASE_INDIR
isEmpty(MODULE_QMAKE_OUTDIR): MODULE_QMAKE_OUTDIR = $$MODULE_BASE_OUTDIR
-exists($$MODULE_PROFILE_DIR/.git): \
+exists($$MODULE_BASE_INDIR/.git): \
CONFIG += git_build
!prefix_build {
diff --git a/mkspecs/features/qt_config.prf b/mkspecs/features/qt_config.prf
index 77d2c0ffc7..cbbd136270 100644
--- a/mkspecs/features/qt_config.prf
+++ b/mkspecs/features/qt_config.prf
@@ -15,9 +15,9 @@ QMAKE_QT_CONFIG = $$[QT_HOST_DATA/get]/mkspecs/qconfig.pri
for(dir, QMAKE_MODULE_PATH) {
debug(1, "Loading modules from $${dir}")
for(mod, $$list($$files($$dir/qt_*.pri))) {
- # For installed Qt these paths will be common for all modules
- # For development these will vary per module, and syncqt will override the value in the
- # qt_<module>.pri forwarding file
+ # For installed Qt these paths will be common for all modules.
+ # For uninstalled prefix builds these will vary per module, via the
+ # forwarding module pri files. Keep qt_module_pris.prf in sync with this!
QT_MODULE_INCLUDE_BASE = $$[QT_INSTALL_HEADERS]
QT_MODULE_LIB_BASE = $$[QT_INSTALL_LIBS]
QT_MODULE_HOST_LIB_BASE = $$[QT_HOST_LIBS]
diff --git a/mkspecs/features/qt_module_headers.prf b/mkspecs/features/qt_module_headers.prf
index fd6cf6b943..ca26eb674b 100644
--- a/mkspecs/features/qt_module_headers.prf
+++ b/mkspecs/features/qt_module_headers.prf
@@ -21,7 +21,7 @@ load(qt_build_paths)
QMAKE_SYNCQT += -module $$MODULE_INCNAME -version $$VERSION
}
QMAKE_SYNCQT += \
- -outdir $$MODULE_BASE_OUTDIR $$MODULE_BASE_DIR
+ -outdir $$MODULE_BASE_OUTDIR $$MODULE_SYNCQT_DIR
!silent: message($$QMAKE_SYNCQT)
system($$QMAKE_SYNCQT)|error("Failed to run: $$QMAKE_SYNCQT")
}
@@ -32,11 +32,11 @@ minimal_syncqt: return()
git_build: \
INC_PATH = $$MODULE_BASE_OUTDIR
else: \
- INC_PATH = $$MODULE_BASE_DIR
+ INC_PATH = $$MODULE_BASE_INDIR
include($$INC_PATH/include/$$MODULE_INCNAME/headers.pri, "", true)
autogen_warning = \
- "/* This file was generated by qmake with the info from <root>/$$relative_path($$_PRO_FILE_, $$MODULE_BASE_DIR). */"
+ "/* This file was generated by qmake with the info from <root>/$$relative_path($$_PRO_FILE_, $$MODULE_BASE_INDIR). */"
# Create a module master depends header
MODULE_MASTER_DEPS_HEADER = $$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/$${MODULE_INCNAME}Depends
diff --git a/mkspecs/features/qt_module_pris.prf b/mkspecs/features/qt_module_pris.prf
index 666989f75e..81b37f0e92 100644
--- a/mkspecs/features/qt_module_pris.prf
+++ b/mkspecs/features/qt_module_pris.prf
@@ -10,8 +10,17 @@
#
load(qt_build_paths)
+# Pre-generated headers in the source tree and
+# - shadow build or
+# - non-shadow non-prefix build of a module which is not qtbase (because the build-time
+# generated headers all end up in qtbase).
+!git_build:if(!equals(_PRO_FILE_PWD_, $$OUT_PWD) \
+ |if(!prefix_build:!equals(MODULE_BASE_INDIR, $$[QT_HOST_PREFIX]))): \
+ CONFIG += split_incpath
+force_independent|split_incpath: \
+ CONFIG += need_fwd_pri
MODULE_FWD_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules/qt_lib_$${MODULE}.pri
-force_independent: \
+need_fwd_pri: \
MODULE_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules-inst/qt_lib_$${MODULE}.pri
else: \
MODULE_PRI = $$MODULE_FWD_PRI
@@ -56,18 +65,22 @@ else: \
MODULE_PRIVATE_INCLUDES = \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME/$$VERSION \
\$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME
}
- !git_build:if(!equals(_PRO_FILE_PWD_, $$OUT_PWD) \
- |if(!prefix_build:!equals(MODULE_BASE_DIR, $$[QT_HOST_PREFIX]))) {
- pub_inc = $$replace(MODULE_INCLUDES, ^\\\$\\\$QT_MODULE_INCLUDE_BASE, $$MODULE_BASE_DIR/include)
- priv_inc = $$replace(MODULE_PRIVATE_INCLUDES, ^\\\$\\\$QT_MODULE_INCLUDE_BASE, $$MODULE_BASE_DIR/include)
- force_independent {
- MODULE_FWD_PRI_CONT_SUFFIX = \
- "QT.$${MODULE}.includes += $$pub_inc" \
- "QT.$${MODULE}.private_includes = $$priv_inc"
- } else {
- MODULE_INCLUDES += $$pub_inc
- MODULE_PRIVATE_INCLUDES = $$priv_inc
- }
+ split_incpath: \
+ MODULE_SHADOW_INCLUDES = $$replace(MODULE_INCLUDES, ^\\\$\\\$QT_MODULE_INCLUDE_BASE, \
+ $$MODULE_BASE_OUTDIR/include)
+ MODULE_INCLUDES += $$MODULE_AUX_INCLUDES
+ MODULE_PRIVATE_INCLUDES += $$MODULE_PRIVATE_AUX_INCLUDES
+ internal_module {
+ MODULE_PRIVATE_INCLUDES = $$MODULE_INCLUDES $$MODULE_PRIVATE_INCLUDES
+ MODULE_INCLUDES =
+ MODULE_PRIVATE_SHADOW_INCLUDES = $$MODULE_SHADOW_INCLUDES
+ MODULE_SHADOW_INCLUDES =
+ }
+ split_incpath {
+ !isEmpty(MODULE_SHADOW_INCLUDES): \
+ MODULE_FWD_PRI_CONT_SUFFIX += "QT.$${MODULE}.includes += $$MODULE_SHADOW_INCLUDES"
+ !isEmpty(MODULE_PRIVATE_SHADOW_INCLUDES): \
+ MODULE_FWD_PRI_CONT_SUFFIX += "QT.$${MODULE}.private_includes += $$MODULE_PRIVATE_SHADOW_INCLUDES"
}
MODULE_PRI_CONT = \
"QT.$${MODULE}.VERSION = $${VERSION}" \
@@ -98,12 +111,17 @@ else: \
write_file($$MODULE_PRI, MODULE_PRI_CONT)|error("Aborting.")
MODULE_PRI_FILES = $$MODULE_PRI
- force_independent {
+ need_fwd_pri {
+
+ split_incpath: \
+ MODULE_BASE_INCDIR = $$MODULE_BASE_INDIR
+ else: \
+ MODULE_BASE_INCDIR = $$MODULE_BASE_OUTDIR
# Create a forwarding module .pri file
MODULE_FWD_PRI_CONT = \
"QT_MODULE_BIN_BASE = $$MODULE_BASE_OUTDIR/bin" \
- "QT_MODULE_INCLUDE_BASE = $$MODULE_BASE_OUTDIR/include" \
+ "QT_MODULE_INCLUDE_BASE = $$MODULE_BASE_INCDIR/include" \
"QT_MODULE_IMPORT_BASE = $$MODULE_BASE_OUTDIR/imports" \
"QT_MODULE_QML_BASE = $$MODULE_BASE_OUTDIR/qml" \
"QT_MODULE_LIB_BASE = $$MODULE_BASE_OUTDIR/lib" \
@@ -116,9 +134,9 @@ else: \
touch($$MODULE_FWD_PRI, $$MODULE_PRI)
MODULE_PRI_FILES += $$MODULE_FWD_PRI
- } else { # prefix_build
+ } else {
- # This is needed for the direct include() below.
+ # This is needed for the direct include() below. Mirrors qt_config.prf
QT_MODULE_BIN_BASE = $$[QT_INSTALL_BINS]
QT_MODULE_INCLUDE_BASE = $$[QT_INSTALL_HEADERS]
QT_MODULE_IMPORT_BASE = $$[QT_INSTALL_IMPORTS]
diff --git a/mkspecs/features/resources.prf b/mkspecs/features/resources.prf
index ed44d9c308..34a04b4ee2 100644
--- a/mkspecs/features/resources.prf
+++ b/mkspecs/features/resources.prf
@@ -18,11 +18,11 @@ resource_combine {
QMAKE_RESOURCE_FLAGS += -name ${QMAKE_FILE_BASE}
}
}
-rcc.commands = "$$QMAKE_RCC" $$QMAKE_RESOURCE_FLAGS "${QMAKE_FILE_IN}" -o "${QMAKE_FILE_OUT}"
-rcc.depend_command = "$$QMAKE_RCC" -list $$QMAKE_RESOURCE_FLAGS "${QMAKE_FILE_IN}"
+rcc.commands = $$QMAKE_RCC $$QMAKE_RESOURCE_FLAGS ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
+rcc.depend_command = $$QMAKE_RCC -list $$QMAKE_RESOURCE_FLAGS ${QMAKE_FILE_IN}
rcc.CONFIG += add_inputs_as_makefile_deps
rcc.input = RESOURCES
rcc.variable_out = SOURCES
rcc.name = RCC ${QMAKE_FILE_IN}
-silent:rcc.commands = @echo rcc "${QMAKE_FILE_IN}" && $$rcc.commands
+silent:rcc.commands = @echo rcc ${QMAKE_FILE_IN} && $$rcc.commands
QMAKE_EXTRA_COMPILERS += rcc
diff --git a/mkspecs/features/spec_post.prf b/mkspecs/features/spec_post.prf
index 46a512bf17..c9e9f8b2f6 100644
--- a/mkspecs/features/spec_post.prf
+++ b/mkspecs/features/spec_post.prf
@@ -42,7 +42,7 @@ isEmpty(QMAKE_COMPILER) {
else:*-llvm*: \
QMAKE_COMPILER = gcc llvm
else:*-clang*: \
- QMAKE_COMPILER = clang llvm
+ QMAKE_COMPILER = gcc clang llvm
else:*-msvc*: \
QMAKE_COMPILER = msvc
else: \
diff --git a/mkspecs/features/uic.prf b/mkspecs/features/uic.prf
index 36ec185f7b..83e579cb3a 100644
--- a/mkspecs/features/uic.prf
+++ b/mkspecs/features/uic.prf
@@ -4,7 +4,7 @@ isEmpty(UI_DIR):UI_DIR = .
isEmpty(QMAKE_MOD_UIC):QMAKE_MOD_UIC = ui_
uic.commands = $$QMAKE_UIC ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
-uic.depend_command = "$$QMAKE_UIC" -d "${QMAKE_FILE_IN}"
+uic.depend_command = $$QMAKE_UIC -d ${QMAKE_FILE_IN}
uic.output = $$UI_DIR/$${QMAKE_MOD_UIC}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)}
uic.input = FORMS
uic.variable_out = GENERATED_FILES