summaryrefslogtreecommitdiffstats
path: root/src/corelib/mimetypes/mimetypes.pri
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/mimetypes/mimetypes.pri')
-rw-r--r--src/corelib/mimetypes/mimetypes.pri29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/corelib/mimetypes/mimetypes.pri b/src/corelib/mimetypes/mimetypes.pri
index 62bbe348e4..8cbe7b69ae 100644
--- a/src/corelib/mimetypes/mimetypes.pri
+++ b/src/corelib/mimetypes/mimetypes.pri
@@ -21,5 +21,32 @@ qtConfig(mimetype) {
mimetypes/qmimeglobpattern.cpp \
mimetypes/qmimeprovider.cpp
- qtConfig(mimetype-database): RESOURCES += mimetypes/mimetypes.qrc
+ MIME_DATABASE = mimetypes/mime/packages/freedesktop.org.xml
+ OTHER_FILES += $$MIME_DATABASE
+
+ qtConfig(mimetype-database) {
+ outpath = .rcc
+ debug_and_release {
+ CONFIG(debug, debug|release): outpath = .rcc/debug
+ else: outpath = .rcc/release
+ }
+
+ mimedb.depends = $$PWD/mime/generate.pl
+ equals(MAKEFILE_GENERATOR, MSVC.NET)|equals(MAKEFILE_GENERATOR, MSBUILD)|isEmpty(QMAKE_SH) {
+ mimedb.commands = cmd /c $$shell_path($$PWD/mime/generate.bat)
+ mimedb.depends += $$PWD/mime/generate.bat $$PWD/mime/hexdump.ps1
+ } else {
+ mimedb.commands = perl $${mimedb.depends}
+ }
+
+ qtConfig(zstd): mimedb.commands += --zstd
+ mimedb.commands += ${QMAKE_FILE_IN} > ${QMAKE_FILE_OUT}
+
+ mimedb.output = $$outpath/qmimeprovider_database.cpp
+ mimedb.input = MIME_DATABASE
+ mimedb.variable_out = INCLUDED_SOURCES
+ QMAKE_EXTRA_COMPILERS += mimedb
+ INCLUDEPATH += $$outpath
+ unset(outpath)
+ }
}