summaryrefslogtreecommitdiffstats
path: root/src/corelib/mimetypes/mimetypes.pri
blob: 8cbe7b69ae30d82945a006f18b3a7aca3d1f8c7d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# Qt core mimetype module

qtConfig(mimetype) {
    HEADERS += \
        mimetypes/qmimedatabase.h \
        mimetypes/qmimetype.h \
        mimetypes/qmimemagicrulematcher_p.h \
        mimetypes/qmimetype_p.h \
        mimetypes/qmimetypeparser_p.h \
        mimetypes/qmimedatabase_p.h \
        mimetypes/qmimemagicrule_p.h \
        mimetypes/qmimeglobpattern_p.h \
        mimetypes/qmimeprovider_p.h

    SOURCES += \
        mimetypes/qmimedatabase.cpp \
        mimetypes/qmimetype.cpp \
        mimetypes/qmimemagicrulematcher.cpp \
        mimetypes/qmimetypeparser.cpp \
        mimetypes/qmimemagicrule.cpp \
        mimetypes/qmimeglobpattern.cpp \
        mimetypes/qmimeprovider.cpp

    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)
    }
}