123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392 |
- CONFIG *= thread
- win32 {
- contains(QT_CONFIG, shared) {
-
-
- QMAKE_DLL_PATHS += $$[QT_INSTALL_BINS/get]
- }
- }
- CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG
- contains(QT_CONFIG, force_asserts):DEFINES += QT_FORCE_ASSERTS
- no_keywords:DEFINES += QT_NO_KEYWORDS
- plugin {
- static:DEFINES += QT_STATICPLUGIN
- DEFINES += QT_PLUGIN
- }
- qtestlib {
- warning("CONFIG+=qtestlib is deprecated. Use QT+=testlib instead.")
- QT += testlib
- }
- qdbus {
- warning("CONFIG+=qdbus is deprecated. Use QT+=dbus instead.")
- QT += dbus
- }
- help {
- warning("CONFIG+=help is deprecated. Use QT+=help instead.")
- QT += help-private
- }
- designer {
- warning("CONFIG+=designer is deprecated. Use QT+=designer instead.")
- QT += designer
- }
- uitools {
- warning("CONFIG+=uitools is deprecated. Use QT+=uitools instead.")
- QT += uitools
- }
- qaxcontainer {
- warning("CONFIG+=qaxcontainer is deprecated. Use QT+=axcontainer instead.")
- QT += axcontainer
- }
- qaxserver {
- warning("CONFIG+=qaxserver is deprecated. Use QT+=axserver instead.")
- QT += axserver
- }
- defineTest(qtProcessModuleFlags) {
- for(flag, $$2) {
- contains(flag, ^-.*): \
- $$1 -= $$replace(flag, ^-, )
- else: \
- $$1 += $$flag
- }
- export($$1)
- }
- unset(using_privates)
- var_sfx =
- for(ever) {
-
- CLEAN_QT$$var_sfx = $$replace(QT$$var_sfx, -private$, _private)
-
- FULL_QT$$var_sfx = $$resolve_depends(CLEAN_QT$$var_sfx, "QT.")
-
- unset(BAD_QT)
- for(QTLIB, FULL_QT$$var_sfx) {
- MODULE_NAME = $$eval(QT.$${QTLIB}.name)
- MODULE_MODULE = $$eval(QT.$${QTLIB}.module)
- MODULE_INCLUDES = $$eval(QT.$${QTLIB}.includes)
- MODULE_LIBS = $$eval(QT.$${QTLIB}.libs)
- MODULE_FRAMEWORKS = $$eval(QT.$${QTLIB}.frameworks)
- MODULE_CONFIG = $$eval(QT.$${QTLIB}.module_config)
- isEmpty(MODULE_NAME) {
- BAD_QT += $$QTLIB
- next()
- }
- contains(MODULE_CONFIG, internal_module): \
- using_privates = true
- contains(MODULE_CONFIG, ltcg): \
- CONFIG += link_ltcg
- qtProcessModuleFlags(CONFIG, QT.$${QTLIB}.CONFIG)
- qtProcessModuleFlags(DEFINES, QT.$${QTLIB}.DEFINES)
- MODULE_INCLUDES -= $$QMAKE_DEFAULT_INCDIRS
- MODULE_LIBS_ADD = $$MODULE_LIBS
- MODULE_LIBS_ADD -= $$QMAKE_DEFAULT_LIBDIRS
- !contains(MODULE_CONFIG, v2) {
-
- contains(MODULE_CONFIG, lib_bundle) {
- MODULE_FRAMEWORKS = $$MODULE_LIBS
- inc = $$MODULE_LIBS/$${MODULE_NAME}.framework/Headers
- MODULE_INCLUDES = $$inc
- contains(MODULE_CONFIG, internal_module): \
- MODULE_INCLUDES += \
- $$inc/$$eval(QT.$${QTLIB}.VERSION) \
- $$inc/$$eval(QT.$${QTLIB}.VERSION)/$$MODULE_NAME
- } else {
-
- MODULE_NAME ~= s,^Qt,Qt$$QT_MAJOR_VERSION,
- }
-
-
- !isEmpty(MODULE_LIBS):!contains(MODULE_CONFIG, no_link): \
- MODULE_MODULE = $${MODULE_NAME}$${QT_LIBINFIX}
- }
-
-
-
-
- !if(contains(MODULE_CONFIG, lib_bundle):qt_no_framework_direct_includes) \
- |contains(MODULE_CONFIG, internal_module): \
- INCLUDEPATH *= $$MODULE_INCLUDES
- QMAKE_FRAMEWORKPATH *= $$MODULE_FRAMEWORKS
- !isEmpty(MODULE_MODULE) {
- contains(MODULE_CONFIG, lib_bundle) {
- LIBS$$var_sfx += -framework $$MODULE_MODULE
- } else {
- !isEmpty(MODULE_LIBS_ADD): \
- LIBS$$var_sfx += -L$$MODULE_LIBS_ADD
- lib = $$MODULE_MODULE$$qtPlatformTargetSuffix()
- LIBS$$var_sfx += -l$$lib
- contains(MODULE_CONFIG, staticlib): \
- PRE_TARGETDEPS *= $$MODULE_LIBS/$${QMAKE_PREFIX_STATICLIB}$${lib}.$${QMAKE_EXTENSION_STATICLIB}
- !isEmpty(QMAKE_LSB) {
- !isEmpty(MODULE_LIBS_ADD): \
- QMAKE_LFLAGS *= --lsb-libpath=$$MODULE_LIBS_ADD
- QMAKE_LFLAGS *= --lsb-shared-libs=$$lib
- QMAKE_LIBDIR *= /opt/lsb/lib
- }
- }
- }
-
- winrt {
- MODULE_WINRT_CAPABILITIES = $$eval(QT.$${QTLIB}.winrt_capabilities)
- !isEmpty(MODULE_WINRT_CAPABILITIES): \
- WINRT_MANIFEST.capabilities_default += $$MODULE_WINRT_CAPABILITIES
- MODULE_WINRT_CAPABILITIES_DEVICE = $$eval(QT.$${QTLIB}.winrt_capabilities_device)
- !isEmpty(MODULE_WINRT_CAPABILITIES_DEVICE): \
- WINRT_MANIFEST.capabilities_device_default += $$MODULE_WINRT_CAPABILITIES_DEVICE
- }
- }
- !isEmpty(BAD_QT):error("Unknown module(s) in QT$$var_sfx: $$replace(BAD_QT, _private$, -private)")
- !isEmpty(var_sfx): break()
- var_sfx = _PRIVATE
- }
- !isEmpty(using_privates):!no_private_qt_headers_warning:!build_pass {
- message("This project is using private headers and will therefore be tied to this specific Qt module build version.")
- message("Running this project against other versions of the Qt modules may crash at any arbitrary point.")
- message("This is not a bug, but a result of using Qt internals. You have been warned!")
- }
- qt_module_deps = $$CLEAN_QT $$CLEAN_QT_PRIVATE
- qt_module_deps = $$resolve_depends(qt_module_deps, "QT.")
- !no_qt_rpath:!static:contains(QT_CONFIG, rpath):!contains(QT_CONFIG, static):\
- contains(qt_module_deps, core) {
- relative_qt_rpath:!isEmpty(QMAKE_REL_RPATH_BASE):contains(INSTALLS, target):\
- isEmpty(target.files):isEmpty(target.commands):isEmpty(target.extra) {
-
- QMAKE_RPATHDIR += $$relative_path($$[QT_INSTALL_LIBS], $$qtRelativeRPathBase())
- } else {
- QMAKE_RPATHDIR += $$[QT_INSTALL_LIBS/dev]
- }
- }
- !isEmpty(QMAKE_LFLAGS_RPATHLINK):!contains(QT_CONFIG, static) {
-
-
-
-
- privdep = $$resolve_depends(qt_module_deps, "QT.", ".depends" ".run_depends")
- privdep -= $$qt_module_deps
- rpaths =
- for(dep, privdep): \
- rpaths += $$eval(QT.$${dep}.libs)
- QMAKE_RPATHLINKDIR *= $$unique(rpaths)
- }
- contains(qt_module_deps, qml): \
- contains(QT_CONFIG, static):contains(TEMPLATE, .*app):!host_build:!no_import_scan {
- !isEmpty(QTREPOS) {
- for (qrep, QTREPOS): \
- exists($$qrep/qml): \
- QMLPATHS += $$qrep/qml
- } else {
- QMLPATHS += $$[QT_INSTALL_QML/get]
- }
-
- qtPrepareTool(QMLIMPORTSCANNER, qmlimportscanner, , system)
- for (QMLPATH, QMLPATHS): \
- IMPORTPATHS += -importPath $$system_quote($$QMLPATH)
-
- JSON = $$system($$QMLIMPORTSCANNER $$system_quote($$_PRO_FILE_PWD_) $$IMPORTPATHS)
- parseJson(JSON, IMPORTS)| error("Failed to parse qmlimportscanner output.")
- !isEmpty(IMPORTS._KEYS_) {
-
- for (key, IMPORTS._KEYS_) {
- PATH = $$eval(IMPORTS.$${key}.path)
- PLUGIN = $$eval(IMPORTS.$${key}.plugin)
- !isEmpty(PATH):!isEmpty(PLUGIN): LIBS *= -L$$PATH -l$${PLUGIN}$$qtPlatformTargetSuffix()
- }
-
- IMPORT_FILE_CONT = \
- "// This file is autogenerated by qmake. It imports static plugin classes for" \
- "// static plugins used by QML imports." \
- "$${LITERAL_HASH}include <QtPlugin>"
- for (key, IMPORTS._KEYS_) {
- PLUGIN = $$eval(IMPORTS.$${key}.plugin)
- CLASSNAME = $$eval(IMPORTS.$${key}.classname)
- !isEmpty(PLUGIN) {
- !isEmpty(CLASSNAME) {
- !contains(ADDED_IMPORTS, $$PLUGIN) {
- ADDED_IMPORTS += $$PLUGIN
- IMPORT_FILE_CONT += "Q_IMPORT_PLUGIN($$CLASSNAME)"
- }
- } else {
- error("Plugin $$PLUGIN is missing a classname entry, please add one to the qmldir file.")
- }
- }
- }
- QML_IMPORT_CPP = $$OUT_PWD/$$lower($$basename(TARGET))_qml_plugin_import.cpp
- write_file($$QML_IMPORT_CPP, IMPORT_FILE_CONT)|error("Aborting.")
- GENERATED_SOURCES += $$QML_IMPORT_CPP
- QMAKE_DISTCLEAN += $$QML_IMPORT_CPP
-
- mac {
- osx {
-
- isEmpty(QMAKE_QML_BUNDLE_PATH):QMAKE_QML_BUNDLE_PATH = "Resources/qt_qml"
- qmlTargetPath = $$OUT_PWD/$${TARGET}.app/Contents/$$QMAKE_QML_BUNDLE_PATH
- qtconfTargetPath = $$OUT_PWD/$${TARGET}.app/Contents/Resources/qt.conf
- } else {
-
- isEmpty(QMAKE_QML_BUNDLE_PATH):QMAKE_QML_BUNDLE_PATH = "qt_qml"
- qmlTargetPath = $CODESIGNING_FOLDER_PATH/$$QMAKE_QML_BUNDLE_PATH
- qtconfTargetPath = $CODESIGNING_FOLDER_PATH/qt.conf
- }
-
- QT_CONF_CONTENTS = \
- "[Paths]" \
- "Imports = $$QMAKE_QML_BUNDLE_PATH" \
- "Qml2Imports = $$QMAKE_QML_BUNDLE_PATH"
- write_file("$$OUT_PWD/qt.conf", QT_CONF_CONTENTS)|error("Aborting.")
-
-
- !isEmpty(QMAKE_POST_LINK): QMAKE_POST_LINK += ";"
- QMAKE_POST_LINK += \
- "cp $$shell_quote($$OUT_PWD/qt.conf) \"$$qtconfTargetPath\"; " \
- "test -d \"$$qmlTargetPath\" && rm -r \"$$qmlTargetPath\"; " \
- "mkdir -p \"$$qmlTargetPath\" && " \
- "for p in $$QMLPATHS; do" \
- "rsync -r --exclude='*.a' --exclude='*.prl' --exclude='*.qmltypes' "
- macx-xcode: QMAKE_POST_LINK += "$p/ \"$$qmlTargetPath\"; done"
- else: QMAKE_POST_LINK += "\$\$p/ \"$$qmlTargetPath\"; done"
- }
- }
- }
- !import_qpa_plugin {
- warning("CONFIG-=import_qpa_plugin is deprecated. Use QTPLUGIN.platforms=- instead.")
- QTPLUGIN.platforms = -
- } else: qpa_minimal_plugin {
- warning("CONFIG+=qpa_minimal_plugin is deprecated. Use QTPLUGIN.platforms=qminimal instead.")
- QTPLUGIN.platforms = qminimal
- }
- contains(TEMPLATE, .*app) {
- autoplugs =
- for (qtmod, qt_module_deps) {
- for (ptype, QT.$${qtmod}.plugin_types) {
- isEmpty(QTPLUGIN.$$ptype) {
- for (plug, QT_PLUGINS) {
- equals(QT_PLUGIN.$${plug}.TYPE, $$ptype) {
- for (dep, QT_PLUGIN.$${plug}.EXTENDS) {
- !contains(qt_module_deps, $$dep) {
- plug =
- break()
- }
- }
- autoplugs += $$plug
- }
- }
- } else {
- plug = $$eval(QTPLUGIN.$$ptype)
- !equals(plug, -): \
- autoplugs += $$plug
- }
- }
- }
- manualplugs = $$QTPLUGIN
- manualplugs -= $$autoplugs
- QTPLUGIN -= $$manualplugs
- !isEmpty(QTPLUGIN): \
- warning("Redundant entries in QTPLUGIN: $$QTPLUGIN")
- QTPLUGIN = $$manualplugs $$autoplugs
- }
- contains(TEMPLATE, .*lib) {
- pkgconfig_prefix_replace.match = "prefix=$$[QT_SYSROOT]"
- pkgconfig_prefix_replace.replace = "prefix="
- pkgconfig_prefix_replace.CONFIG = path
- QMAKE_PKGCONFIG_INSTALL_REPLACE += pkgconfig_prefix_replace
-
- prl_replace.match = "-L\$${libdir}"
- prl_replace.replace = ""
- prl_replace.CONFIG = path
- QMAKE_PRL_INSTALL_REPLACE += prl_replace
- }
- QT_PLUGIN_VERIFY = DEPLOYMENT_PLUGIN
- contains(QT_CONFIG, static) {
- QT_PLUGIN_VERIFY += QTPLUGIN
- force_import_plugins|contains(TEMPLATE, .*app) {
- import_plugins:!isEmpty(QTPLUGIN) {
- IMPORT_FILE_CONT = \
- "// This file is autogenerated by qmake. It imports static plugin classes for" \
- "// static plugins specified using QTPLUGIN and QT_PLUGIN_CLASS.<plugin> variables." \
- "$${LITERAL_HASH}include <QtPlugin>"
- for(IMPORT_PLUG, $$list($$unique(QTPLUGIN))) {
- PLUG_CLASS = $$eval(QT_PLUGIN.$${IMPORT_PLUG}.CLASS_NAME)
- !isEmpty(PLUG_CLASS): \
- IMPORT_FILE_CONT += "Q_IMPORT_PLUGIN($$PLUG_CLASS)"
- else: \
- warning("Plugin class name could not be determined for $$IMPORT_PLUG plugin.")
- }
- IMPORT_CPP = $$OUT_PWD/$$lower($$basename(TARGET))_plugin_import.cpp
- write_file($$IMPORT_CPP, IMPORT_FILE_CONT)|error("Aborting.")
- GENERATED_SOURCES += $$IMPORT_CPP
- QMAKE_DISTCLEAN += $$IMPORT_CPP
- }
- }
- }
- for(QT_CURRENT_VERIFY, $$list($$QT_PLUGIN_VERIFY)) {
- for(QTPLUG, $$list($$lower($$unique($$QT_CURRENT_VERIFY)))) {
-
-
- QT_PLUGINPATH = $$eval(QT_PLUGIN.$${QTPLUG}.TYPE)
-
- QT_LINKAGE = -l$${QTPLUG}$$qtPlatformTargetSuffix()
-
- isEqual(QT_CURRENT_VERIFY, QTPLUGIN) {
- !isEmpty(QT_PLUGINPATH) {
- plugpath = $$eval(QT_PLUGIN.$${QTPLUG}.PATH)
- isEmpty(plugpath): \
- plugpath = $$[QT_INSTALL_PLUGINS/get]
- LIBS *= -L$$plugpath/$$QT_PLUGINPATH
- }
- LIBS += $$QT_LINKAGE
-
- DEPLOYMENT_PLUGIN -= $$QT_CURRENT_VERIFY
- }
-
-
- false:isEqual(QT_CURRENT_VERIFY, DEPLOYMENT_PLUGIN):shared:if(wince*|winrt) {
- QT_ITEM =
- debug: QT_ITEM = $${QTPLUG}d4.dll
- else: QT_ITEM = $${QTPLUG}4.dll
- qt_additional_plugin_$${QTPLUG}.files = $$[QT_INSTALL_PLUGINS/get]/$${QT_PLUGINPATH}/$${QT_ITEM}
- qt_additional_plugin_$${QTPLUG}.path = $${QT_PLUGINPATH}
- INSTALLS *= qt_additional_plugin_$${QTPLUG}
- }
- }
- }
|