summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@digia.com>2013-02-26 11:25:52 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-03-06 18:01:13 +0100
commitb4d304742234d79548e06344e7bcdfa4081b1477 (patch)
treec26c4e2b54e799dbc7026172b24a74352da5a9b0
parent711773776ed324efce7f1ed227104da9c7e21e05 (diff)
require modules to define their version
otherwise they would inherit it from qtbase, which may effectively result in a lie if building against a different release. for convenience we define the version centrally per repo. qtbase is special, in that we use the version defined in qglobal.h to avoid defining it redundantly (the instance in qglobal.h is currently needed to bootstrap qmake; the configures would need some work to change this). Task-number: QTBUG-29838 Change-Id: Ie9a5b0ff0d64b69ff2d34af2f7c42d6278e957cc Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
-rw-r--r--.qmake.conf3
-rw-r--r--mkspecs/features/qt_docs.prf8
-rw-r--r--mkspecs/features/qt_module.prf3
3 files changed, 10 insertions, 4 deletions
diff --git a/.qmake.conf b/.qmake.conf
index 5de255cb69..17dbc553bb 100644
--- a/.qmake.conf
+++ b/.qmake.conf
@@ -1,2 +1,5 @@
load(qt_build_config)
CONFIG += qt_example_installs
+
+# In qtbase, all modules follow qglobal.h
+MODULE_VERSION = $$QT_VERSION
diff --git a/mkspecs/features/qt_docs.prf b/mkspecs/features/qt_docs.prf
index 31f7b65c38..c80efb03e0 100644
--- a/mkspecs/features/qt_docs.prf
+++ b/mkspecs/features/qt_docs.prf
@@ -25,11 +25,13 @@ QDOC += -outputdir $$QMAKE_DOCS_OUTPUTDIR
!build_online_docs: \
QDOC += -installdir $$[QT_INSTALL_DOCS]
qtver.name = QT_VERSION
-qtver.value = $$QT_VERSION
+qtver.value = $$VERSION
+isEmpty(qtver.value): qtver.value = $$MODULE_VERSION
+isEmpty(qtver.value): error("No version for documentation specified.")
qtmver.name = QT_VER
-qtmver.value = $${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}
+qtmver.value = $$replace(qtver.value, ^(\\d+\\.\\d+).*$, \\1)
qtvertag.name = QT_VERSION_TAG
-qtvertag.value = $$replace(QT_VERSION, \.,)
+qtvertag.value = $$replace(qtver.value, \.,)
qtAddToolEnv(QDOC, qtver qtmver qtvertag)
doc_command = $$QDOC $$QMAKE_DOCS
prepare_docs {
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
index 728d1f5f85..d015b213d7 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
@@ -20,7 +20,8 @@
load(qt_build_config) # loads qmodule.pri if hasn't been loaded already
isEmpty(MODULE):MODULE = $$section($$list($$basename(_PRO_FILE_)), ., 0, 0)
-isEmpty(VERSION):VERSION = $$QT_VERSION
+isEmpty(VERSION): VERSION = $$MODULE_VERSION
+isEmpty(VERSION): error("Module does not define version.")
# Compile as shared/DLL or static according to the option given to configure
# unless overridden. Host builds are always static