summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hartmann <phartmann@blackberry.com>2013-11-04 14:56:18 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-11-15 09:22:48 +0100
commit49b020db22028b3f4de96769d42fcc98ffb3f4e6 (patch)
treec53dc8ea80ac4ea6d3e3cbba323db69594902741
parent97f266a006d82cc8554915cba6bf767b93d71a06 (diff)
downloadqtxmlpatterns-49b020db22028b3f4de96769d42fcc98ffb3f4e6.tar.gz
make it possible to disable XML schema usage
Removing XML schema functionality reduces the size of libQt5XmlPatterns.so considerably: Linux desktop release mode: with XML schema: 4.3 MB without XML schema: 3.2 MB BlackBerry10 release mode: with XML schema: 2.6 MB without XML schema: 1.9 MB XML schema might not be used, especially on a mobile / embedded device, as opposed to the rest of xmlpatterns (e.g. XPath through QML XmlListModel). Task-number: QTBUG-28068 Change-Id: I5024a822179e7241e592f079efe3adef8f661c70 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
-rw-r--r--examples/xmlpatterns/xmlpatterns.pro7
-rw-r--r--src/xmlpatterns/api/api.pri18
-rw-r--r--src/xmlpatterns/xmlpatterns.pro6
-rw-r--r--tests/auto/auto.pro12
-rw-r--r--tools/tools.pro9
5 files changed, 38 insertions, 14 deletions
diff --git a/examples/xmlpatterns/xmlpatterns.pro b/examples/xmlpatterns/xmlpatterns.pro
index ca63f69..bfc3a3e 100644
--- a/examples/xmlpatterns/xmlpatterns.pro
+++ b/examples/xmlpatterns/xmlpatterns.pro
@@ -1,6 +1,11 @@
TEMPLATE = subdirs
SUBDIRS += xquery
-qtHaveModule(widgets): SUBDIRS += filetree schema recipes
+qtHaveModule(widgets) {
+ SUBDIRS += recipes
+
+ load(qfeatures)
+ !contains(QT_DISABLED_FEATURES, xmlschema): SUBDIRS += filetree schema
+}
EXAMPLE_FILES = \
shared
diff --git a/src/xmlpatterns/api/api.pri b/src/xmlpatterns/api/api.pri
index 82d1c03..2192d82 100644
--- a/src/xmlpatterns/api/api.pri
+++ b/src/xmlpatterns/api/api.pri
@@ -23,10 +23,6 @@ HEADERS += $$PWD/qabstractxmlforwarditerator_p.h \
$$PWD/qxmlquery_p.h \
$$PWD/qxmlresultitems.h \
$$PWD/qxmlresultitems_p.h \
- $$PWD/qxmlschema.h \
- $$PWD/qxmlschema_p.h \
- $$PWD/qxmlschemavalidator.h \
- $$PWD/qxmlschemavalidator_p.h \
$$PWD/qxmlserializer.h \
$$PWD/qxmlserializer_p.h \
$$PWD/qcoloringmessagehandler_p.h \
@@ -50,9 +46,17 @@ SOURCES += $$PWD/qvariableloader.cpp \
$$PWD/qxmlnamepool.cpp \
$$PWD/qxmlquery.cpp \
$$PWD/qxmlresultitems.cpp \
- $$PWD/qxmlschema.cpp \
- $$PWD/qxmlschema_p.cpp \
- $$PWD/qxmlschemavalidator.cpp \
$$PWD/qxmlserializer.cpp \
$$PWD/qcoloringmessagehandler.cpp \
$$PWD/qcoloroutput.cpp
+
+load(qfeatures)
+!contains(QT_DISABLED_FEATURES, xmlschema) {
+ HEADERS += $$PWD/qxmlschema.h \
+ $$PWD/qxmlschema_p.h \
+ $$PWD/qxmlschemavalidator.h \
+ $$PWD/qxmlschemavalidator_p.h
+ SOURCES += $$PWD/qxmlschema.cpp \
+ $$PWD/qxmlschema_p.cpp \
+ $$PWD/qxmlschemavalidator.cpp
+}
diff --git a/src/xmlpatterns/xmlpatterns.pro b/src/xmlpatterns/xmlpatterns.pro
index 49543b6..7aac0c9 100644
--- a/src/xmlpatterns/xmlpatterns.pro
+++ b/src/xmlpatterns/xmlpatterns.pro
@@ -20,7 +20,11 @@ include($$PWD/iterators/iterators.pri)
include($$PWD/janitors/janitors.pri)
include($$PWD/parser/parser.pri)
include($$PWD/projection/projection.pri)
-include($$PWD/schema/schema.pri)
+
+load(qfeatures)
+!contains(QT_DISABLED_FEATURES, xmlschema) {
+ include($$PWD/schema/schema.pri)
+}
include($$PWD/type/type.pri)
include($$PWD/utils/utils.pri)
include($$PWD/qobjectmodel/qobjectmodel.pri, "", true)
diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro
index 8f0a1e7..df80f80 100644
--- a/tests/auto/auto.pro
+++ b/tests/auto/auto.pro
@@ -21,19 +21,23 @@ SUBDIRS=\
qxmlnodemodelindex \
qxmlquery \
qxmlresultitems \
- qxmlschema \
- qxmlschemavalidator \
qxmlserializer \
xmlpatterns \
xmlpatternsdiagnosticsts \
- xmlpatternsschema \
- xmlpatternsschemats \
xmlpatternssdk \
xmlpatternsvalidator \
xmlpatternsview \
xmlpatternsxqts \
xmlpatternsxslts \
+load(qfeatures)
+!contains(QT_DISABLED_FEATURES, xmlschema) {
+ SUBDIRS += qxmlschema \
+ qxmlschemavalidator \
+ xmlpatternsschema \
+ xmlpatternsschemats
+}
+
xmlpatternsdiagnosticsts.depends = xmlpatternssdk
xmlpatternsview.depends = xmlpatternssdk
xmlpatternsxslts.depends = xmlpatternssdk
diff --git a/tools/tools.pro b/tools/tools.pro
index 121bed8..92bbaca 100644
--- a/tools/tools.pro
+++ b/tools/tools.pro
@@ -1,2 +1,9 @@
TEMPLATE = subdirs
-!android|android_app: SUBDIRS += xmlpatterns xmlpatternsvalidator
+
+load(qfeatures)
+!android|android_app {
+ SUBDIRS += xmlpatterns
+ !contains(QT_DISABLED_FEATURES, xmlschema) {
+ SUBDIRS += xmlpatternsvalidator
+ }
+}