31b4461097
A module plugin in qml belongs to a URI/namespace. This uri is resolved run-time by QtDeclarative by knowing the path of the qmldir that references the plugin. For static plugins this becomes a problem, since we lost the information regarding which plugin belongs to which qmldir, since a static plugin has no file path. To avoid pushing the responsibility of clarifying this onto the application developer, it is better to embed this information into the meta data of the plugins themselves. Since this information can be resolved by the build system, a new option to moc has been added: -M<key=value> that will let you add meta tags to the meta data from the command line to each class that has an IID specified. For the URI case, we can then e.g do: -Muri=QtQuick.Controls -Muri=QtQuick.Controls.Private Change-Id: I81a156660148fc94db6f3cac0473e9e1c8458c58 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
44 lines
1.5 KiB
Prolog
44 lines
1.5 KiB
Prolog
CONFIG += testcase
|
|
CONFIG += parallel_test
|
|
TARGET = tst_moc
|
|
|
|
#exists(/usr/include/boost/spirit.hpp) {
|
|
# message("including boost headers in test")
|
|
# DEFINES += PARSE_BOOST
|
|
# # need to add explicitly so that it ends up in moc's search path
|
|
# INCLUDEPATH += /usr/include
|
|
#}
|
|
|
|
INCLUDEPATH += testproject/include testproject
|
|
|
|
cross_compile: DEFINES += MOC_CROSS_COMPILED
|
|
|
|
HEADERS += using-namespaces.h no-keywords.h task87883.h c-comments.h backslash-newlines.h oldstyle-casts.h \
|
|
slots-with-void-template.h qinvokable.h namespaced-flags.h trigraphs.h \
|
|
escapes-in-string-literals.h cstyle-enums.h qprivateslots.h gadgetwithnoenums.h \
|
|
dir-in-include-path.h single_function_keyword.h task192552.h task189996.h \
|
|
task234909.h task240368.h pure-virtual-signals.h cxx11-enums.h \
|
|
cxx11-final-classes.h \
|
|
cxx11-explicit-override-control.h \
|
|
forward-declared-param.h \
|
|
parse-defines.h \
|
|
function-with-attributes.h \
|
|
plugin_metadata.h
|
|
|
|
|
|
if(*-g++*|*-icc*|*-clang*|*-llvm):!irix-*:!win32-*: HEADERS += os9-newlines.h win-newlines.h
|
|
if(*-g++*|*-clang*): HEADERS += dollars.h
|
|
SOURCES += tst_moc.cpp
|
|
|
|
QT = core sql network testlib
|
|
qtHaveModule(dbus) {
|
|
DEFINES += WITH_DBUS
|
|
QT += dbus
|
|
}
|
|
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
|
|
|
|
# tst_Moc::specifyMetaTagsFromCmdline()
|
|
# Ensure that plugin_metadata.h are moc-ed with some extra -M arguments:
|
|
QMAKE_MOC_OPTIONS += -Muri=com.company.app -Muri=com.company.app.private
|
|
|