make qml_plugin.prf usable without a parent c++ module

so far the assumption was that every qml plugin/module in qt is a
wrapper/extension of a corresponding qt module. this not the case for
the upcoming quickcontrols, for example.

Task-number: QTBUG-28200
Change-Id: If4b8bb6633e76b2a510908d09a010cee12d33634
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
This commit is contained in:
Oswald Buddenhagen 2013-03-01 19:05:15 +01:00 committed by The Qt Project
parent a05cedd70b
commit cd94b543cb

View File

@ -19,7 +19,7 @@ if(win32|mac):!macx-xcode {
contains(QT_CONFIG, build_all):CONFIG += build_all contains(QT_CONFIG, build_all):CONFIG += build_all
} }
isEmpty(CXX_MODULE) { !no_cxx_module:isEmpty(CXX_MODULE) {
CXX_MODULE = $$TARGET CXX_MODULE = $$TARGET
TARGET = declarative_$${TARGET} TARGET = declarative_$${TARGET}
} }
@ -30,11 +30,13 @@ exists($$QMLTYPEFILE): QML_FILES += $$QMLTYPEFILE
# Install rules # Install rules
load(qt_build_paths)
qml1_target { qml1_target {
DESTDIR = $$eval(QT.$${CXX_MODULE}.imports)/$$TARGETPATH DESTDIR = $$MODULE_BASE_OUTDIR/imports/$$TARGETPATH
instbase = $$[QT_INSTALL_IMPORTS] instbase = $$[QT_INSTALL_IMPORTS]
} else { } else {
DESTDIR = $$eval(QT.$${CXX_MODULE}.qml)/$$TARGETPATH DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
instbase = $$[QT_INSTALL_QML] instbase = $$[QT_INSTALL_QML]
} }
@ -58,7 +60,14 @@ load(qt_common)
# #
!cross_compile { !cross_compile {
build_pass|!debug_and_release { build_pass|!debug_and_release {
isEmpty(IMPORT_VERSION): IMPORT_VERSION = $$eval(QT.$${CXX_MODULE}.MAJOR_VERSION).$$eval(QT.$${CXX_MODULE}.MINOR_VERSION) isEmpty(IMPORT_VERSION) {
no_cxx_module {
IMPORT_VERSION = $$replace(MODULE_VERSION, ^(\\d+\\.\\d+).*, \\1)
isEmpty(IMPORT_VERSION): error("Must set IMPORT_VERSION")
} else {
IMPORT_VERSION = $$eval(QT.$${CXX_MODULE}.MAJOR_VERSION).$$eval(QT.$${CXX_MODULE}.MINOR_VERSION)
}
}
load(resolve_target) load(resolve_target)
qml1_target: \ qml1_target: \
@ -91,7 +100,7 @@ unix|win32-g++* {
!isEmpty(_QMAKE_SUPER_CACHE_): \ !isEmpty(_QMAKE_SUPER_CACHE_): \
lib_replace.match = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]*/lib lib_replace.match = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]*/lib
else: \ else: \
lib_replace.match = $$eval(QT.$${CXX_MODULE}.libs) lib_replace.match = $$MODULE_BASE_OUTDIR
lib_replace.replace = $$[QT_INSTALL_LIBS/raw] lib_replace.replace = $$[QT_INSTALL_LIBS/raw]
QMAKE_PRL_INSTALL_REPLACE += lib_replace QMAKE_PRL_INSTALL_REPLACE += lib_replace
} }