equals(TEMPLATE, app): TEMPLATE = aux isEmpty(TARGETPATH): error("Must set TARGETPATH (QML import name)") fq_qml_files = $$_PRO_FILE_PWD_/qmldir for(qmlf, QML_FILES): fq_qml_files += $$absolute_path($$qmlf, $$_PRO_FILE_PWD_) # Only for Qt Creator's project view OTHER_FILES += $$fq_qml_files qml1_target: \ instbase = $$[QT_INSTALL_IMPORTS]/QtDeclarative else: \ instbase = $$[QT_INSTALL_IMPORTS] exists($$[QT_HOST_PREFIX]/.qmake.cache) { # These bizarre rules copy the files to the qtbase build directory defineReplace(qmlModStripSrcDir) { return($$relative_path($$1, $$_PRO_FILE_PWD_)) } qmlfiles2build.input = fq_qml_files qmlfiles2build.output = $$instbase/$$TARGETPATH/${QMAKE_FUNC_FILE_IN_qmlModStripSrcDir} !contains(TEMPLATE, vc.*): qmlfiles2build.variable_out = PRE_TARGETDEPS qmlfiles2build.commands = $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} qmlfiles2build.name = COPY ${QMAKE_FILE_IN} qmlfiles2build.CONFIG = no_link no_clean QMAKE_EXTRA_COMPILERS += qmlfiles2build } # Install rules qmldir.base = $$_PRO_FILE_PWD_ qmldir.files = $$fq_qml_files qmldir.path = $$instbase/$$TARGETPATH INSTALLS += qmldir