diff options
author | Liang Qi <liang.qi@qt.io> | 2017-08-15 16:30:10 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-08-15 16:31:48 +0200 |
commit | 106d3b9bf93325ea93c678270290b2c3dda9b764 (patch) | |
tree | 26c56932d60964c83e81d9c33d6f37ebc36d6c56 /mkspecs | |
parent | 79f679da9483c12979500dd48bc096d33af9ca6f (diff) | |
parent | 8bebded9ab02b8eec67c44bfddf802d6bf9cda3c (diff) |
Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
src/plugins/platforms/cocoa/qcocoamenu.h
src/plugins/platforms/cocoa/qcocoamenu.mm
src/plugins/platforms/cocoa/qcocoawindow.mm
src/widgets/styles/qstylehelper_p.h
Change-Id: I54247c98dd79d2b3826fc062b8b11048c9c7d9bb
Diffstat (limited to 'mkspecs')
-rw-r--r-- | mkspecs/common/ghs-base.conf | 2 | ||||
-rw-r--r-- | mkspecs/features/qt_configure.prf | 9 | ||||
-rw-r--r-- | mkspecs/features/qt_example_installs.prf | 186 | ||||
-rw-r--r-- | mkspecs/features/toolchain.prf | 22 | ||||
-rw-r--r-- | mkspecs/win32-g++/qmake.conf | 6 |
5 files changed, 119 insertions, 106 deletions
diff --git a/mkspecs/common/ghs-base.conf b/mkspecs/common/ghs-base.conf index bd1f3eb5ab..addc05241c 100644 --- a/mkspecs/common/ghs-base.conf +++ b/mkspecs/common/ghs-base.conf @@ -39,4 +39,4 @@ QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_LFLAGS_RELEASE -g QMAKE_LFLAGS_CXX11 += --c++11 --thread_local_storage QMAKE_LFLAGS_EXCEPTIONS_ON += --exceptions -QMAKE_LIBS_CORE = -lposix -livfs -lsocket -lnet -ldl +QMAKE_LIBS_CORE = -lposix -livfs -lsocket -lnet -lshm_client diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf index c3ea334dd8..afeb4f3d1d 100644 --- a/mkspecs/features/qt_configure.prf +++ b/mkspecs/features/qt_configure.prf @@ -492,8 +492,8 @@ defineTest(qtConfSetupLibraries) { # overrides from the command line are accepted. defineTest(qtConfLibrary_inline) { lib = $$eval($${1}.library) - !defined($${1}.libs, var): \ - error("'inline' source in library '$$lib' does not specify 'libs'.") + !defined($${1}.libs, var):isEmpty($${1}.builds._KEYS_): \ + error("'inline' source in library '$$lib' specifies neither 'libs' nor 'builds'.") # if multiple libraries provide the same export, it makes sense # to make them recognize the same input variables. @@ -2028,10 +2028,7 @@ for (currentConfig, allConfigs) { } qtConfCheckErrors() -!isEmpty(_QMAKE_SUPER_CACHE_): \ - QMAKE_CONFIG_CACHE = $$dirname(_QMAKE_SUPER_CACHE_)/config.cache -else: \ - QMAKE_CONFIG_CACHE = $$dirname(_QMAKE_CACHE_)/config.cache +QMAKE_CONFIG_CACHE = $$OUT_PWD/config.cache QMAKE_CONFIG_CACHE_USE = $$eval(config.input.cache_use) isEmpty(QMAKE_CONFIG_CACHE_USE): \ QMAKE_CONFIG_CACHE_USE = all diff --git a/mkspecs/features/qt_example_installs.prf b/mkspecs/features/qt_example_installs.prf index 0a008374e5..668669e4cd 100644 --- a/mkspecs/features/qt_example_installs.prf +++ b/mkspecs/features/qt_example_installs.prf @@ -9,11 +9,6 @@ # We mean it. # -contains(TEMPLATE, .*app): \ - qtSetQmlPath() - -contains(TEMPLATE, "vc.*"): return() - defineTest(addInstallFiles) { for(sf, 2) { sf = $$relative_path($$sf, $$_PRO_FILE_PWD_) @@ -31,99 +26,112 @@ defineTest(addInstallFiles) { } probase = $$relative_path($$_PRO_FILE_PWD_, $$dirname(_QMAKE_CONF_)/examples) -!isEmpty(probase):!contains(probase, ^\\..*):!isEmpty(_QMAKE_CACHE_) { - for(ex, EXAMPLE_FILES): \ - sourcefiles += $$files($$absolute_path($$ex, $$_PRO_FILE_PWD_)) - for(res, RESOURCES) { - rfile = $$cat($$absolute_path($$res, $$_PRO_FILE_PWD_), lines) - for(rline, rfile) { - resrc = $$replace(rline, ^[ \\t]*<file[^>]*>([^<]+)</file>[ \\t]*$, \\1) - !equals(resrc, $$rline): \ - sourcefiles += $$resrc - } +isEmpty(probase)|contains(probase, ^\\..*): \ + return() + +isEmpty(_QMAKE_CACHE_) { + !equals(OUT_PWD, $$_PRO_FILE_PWD_): \ + return() + error("You cannot build examples inside the Qt source tree, except as part of a proper Qt build.") +} + +contains(TEMPLATE, "vc.*"): \ + return() + +contains(TEMPLATE, .*app): \ + qtSetQmlPath() + +for(ex, EXAMPLE_FILES): \ + sourcefiles += $$files($$absolute_path($$ex, $$_PRO_FILE_PWD_)) +for(res, RESOURCES) { + rfile = $$cat($$absolute_path($$res, $$_PRO_FILE_PWD_), lines) + for(rline, rfile) { + resrc = $$replace(rline, ^[ \\t]*<file[^>]*>([^<]+)</file>[ \\t]*$, \\1) + !equals(resrc, $$rline): \ + sourcefiles += $$resrc } - for(res, RC_FILE) { - rfile = $$cat($$absolute_path($$res, $$_PRO_FILE_PWD_), lines) - for(rline, rfile) { - resrc = $$replace(rline, "^\\d+\\s+ICON\\s+[^\"]*\"([^\"]+)\"\$", \\1) - !equals(resrc, $$rline): \ - sourcefiles += $$resrc - } +} +for(res, RC_FILE) { + rfile = $$cat($$absolute_path($$res, $$_PRO_FILE_PWD_), lines) + for(rline, rfile) { + resrc = $$replace(rline, "^\\d+\\s+ICON\\s+[^\"]*\"([^\"]+)\"\$", \\1) + !equals(resrc, $$rline): \ + sourcefiles += $$resrc } - sourcefiles += \ - $$ANDROID_PACKAGE_SOURCE_DIR \ - $$QMAKE_INFO_PLIST \ - $$DISTFILES - extras = \ - $$_PRO_FILE_PWD_/README \ - $$_PRO_FILE_PWD_/README.TXT \ - $$files($$_PRO_FILE_PWD_/*.pri) \ - $$replace(_PRO_FILE_, \\.pro$, .qmlproject) \ - $$replace(_PRO_FILE_, \\.pro$, .json) \ - $$replace(_PRO_FILE_, \\.pro$, .inf) - for(extra, extras): \ - exists($$extra): \ - sourcefiles += $$extra +} +sourcefiles += \ + $$ANDROID_PACKAGE_SOURCE_DIR \ + $$QMAKE_INFO_PLIST \ + $$DISTFILES +extras = \ + $$_PRO_FILE_PWD_/README \ + $$_PRO_FILE_PWD_/README.TXT \ + $$files($$_PRO_FILE_PWD_/*.pri) \ + $$replace(_PRO_FILE_, \\.pro$, .qmlproject) \ + $$replace(_PRO_FILE_, \\.pro$, .json) \ + $$replace(_PRO_FILE_, \\.pro$, .inf) +for(extra, extras): \ + exists($$extra): \ + sourcefiles += $$extra - # Just for Qt Creator - OTHER_FILES += $$sourcefiles +# Just for Qt Creator +OTHER_FILES += $$sourcefiles - sourcefiles += \ - $$_PRO_FILE_ $$RC_FILE $$DEF_FILE \ - $$SOURCES $$HEADERS $$FORMS $$RESOURCES $$TRANSLATIONS \ - $$DBUS_ADAPTORS $$DBUS_INTERFACES - addInstallFiles(sources.files, $$sourcefiles) - sources.path = $$[QT_INSTALL_EXAMPLES]/$$probase - INSTALLS += sources +sourcefiles += \ + $$_PRO_FILE_ $$RC_FILE $$DEF_FILE \ + $$SOURCES $$HEADERS $$FORMS $$RESOURCES $$TRANSLATIONS \ + $$DBUS_ADAPTORS $$DBUS_INTERFACES +addInstallFiles(sources.files, $$sourcefiles) +sources.path = $$[QT_INSTALL_EXAMPLES]/$$probase +INSTALLS += sources - check_examples { - srcfiles = $$sources.files - for(inst, INSTALLS): \ - !equals(inst, target):!contains($${inst}.CONFIG, no_check_exist): \ - for(file, $${inst}.files): \ - instfiles += $$files($$absolute_path($$file, $$_PRO_FILE_PWD_)) - addInstallFiles(srcfiles, $$instfiles) +check_examples { + srcfiles = $$sources.files + for(inst, INSTALLS): \ + !equals(inst, target):!contains($${inst}.CONFIG, no_check_exist): \ + for(file, $${inst}.files): \ + instfiles += $$files($$absolute_path($$file, $$_PRO_FILE_PWD_)) + addInstallFiles(srcfiles, $$instfiles) - thefiles = $$files($$_PRO_FILE_PWD_/*) - for(i, thefiles): \ - allfiles += $$relative_path($$i, $$_PRO_FILE_PWD_) - for(i, srcfiles): \ - allfiles -= $$relative_path($$i, $$_PRO_FILE_PWD_) - for(i, SUBDIRS) { - sd = $$eval($${i}.file) - !isEmpty(sd) { - sd ~= s,/.*,, - } else { - sd = $$eval($${i}.subdir) - isEmpty(sd): sd = $$i - } - allfiles -= $$sd + thefiles = $$files($$_PRO_FILE_PWD_/*) + for(i, thefiles): \ + allfiles += $$relative_path($$i, $$_PRO_FILE_PWD_) + for(i, srcfiles): \ + allfiles -= $$relative_path($$i, $$_PRO_FILE_PWD_) + for(i, SUBDIRS) { + sd = $$eval($${i}.file) + !isEmpty(sd) { + sd ~= s,/.*,, + } else { + sd = $$eval($${i}.subdir) + isEmpty(sd): sd = $$i } - allfiles -= doc - !isEmpty(allfiles): warning("remaining files in $$_PRO_FILE_PWD_: $$allfiles") + allfiles -= $$sd } + allfiles -= doc + !isEmpty(allfiles): warning("remaining files in $$_PRO_FILE_PWD_: $$allfiles") +} - equals(TEMPLATE, app)|equals(TEMPLATE, lib) { - !contains(INSTALLS, target) { - !install_ok: \ - error("$$_PRO_FILE_ is lacking an install target.") - else: check_examples: \ - warning("$$_PRO_FILE_ is lacking an install target.") - } else: !equals(target.path, $$sources.path) { - !install_ok: \ - error("$$_PRO_FILE_ installs target to unexpected location.") - else: check_examples: \ - warning("$$_PRO_FILE_ installs target to unexpected location.") - } +equals(TEMPLATE, app)|equals(TEMPLATE, lib) { + !contains(INSTALLS, target) { + !install_ok: \ + error("$$_PRO_FILE_ is lacking an install target.") + else: check_examples: \ + warning("$$_PRO_FILE_ is lacking an install target.") + } else: !equals(target.path, $$sources.path) { + !install_ok: \ + error("$$_PRO_FILE_ installs target to unexpected location.") + else: check_examples: \ + warning("$$_PRO_FILE_ installs target to unexpected location.") } +} - !equals(TEMPLATE, subdirs):!compile_examples { - TEMPLATE = aux - CONFIG -= have_target qt staticlib dll - SOURCES = - OBJECTIVE_SOURCES = - INSTALLS -= target - } else { - CONFIG += relative_qt_rpath # Examples built as part of Qt should be relocatable - } +!equals(TEMPLATE, subdirs):!compile_examples { + TEMPLATE = aux + CONFIG -= have_target qt staticlib dll + SOURCES = + OBJECTIVE_SOURCES = + INSTALLS -= target +} else { + CONFIG += relative_qt_rpath # Examples built as part of Qt should be relocatable } diff --git a/mkspecs/features/toolchain.prf b/mkspecs/features/toolchain.prf index 813dbffbd4..21c18c7f7b 100644 --- a/mkspecs/features/toolchain.prf +++ b/mkspecs/features/toolchain.prf @@ -12,6 +12,16 @@ defineReplace(qtMakeExpand) { } } +defineTest(qtCompilerErrror) { + !cross_compile: \ + what = + else: host_build: \ + what = " host" + else: \ + what = " target" + error("Cannot run$$what compiler '$$1'. Maybe you forgot to setup the environment?") +} + cross_compile:host_build: \ target_prefix = QMAKE_HOST_CXX else: \ @@ -58,8 +68,7 @@ isEmpty($${target_prefix}.INCDIRS) { cxx_flags += -E -v output = $$system("$$cmd_prefix $$QMAKE_CXX $$qtMakeExpand($$cxx_flags) -xc++ - 2>&1 $$cmd_suffix", lines, ec) - !equals(ec, 0): \ - error("Cannot run compiler '$$QMAKE_CXX'. Maybe you forgot to setup the environment?") + !equals(ec, 0): qtCompilerErrror($$QMAKE_CXX) rim_qcc { for (line, output) { @@ -119,8 +128,7 @@ isEmpty($${target_prefix}.INCDIRS) { # What's more, -print-search-dirs can't be used on clang on Apple because it # won't print all the library paths (only the clang-internal ones). output = $$system("$$cmd_prefix $$QMAKE_CXX -print-search-dirs", lines, ec) - !equals(ec, 0): \ - error("Cannot run compiler '$$QMAKE_CXX'. Maybe you forgot to setup the environment?") + !equals(ec, 0): qtCompilerErrror($$QMAKE_CXX) for (line, output) { contains(line, "^libraries: .*") { @@ -162,8 +170,7 @@ isEmpty($${target_prefix}.INCDIRS) { defineReplace(qtVariablesFromMSVC) { ret = $$system("$$1 -nologo -E $$2 $$system_quote($$PWD/data/macros.cpp) <NUL 2>NUL", lines, ec) - !equals(ec, 0): \ - error("Cannot run compiler '$$1'. Maybe you forgot to setup the environment?") + !equals(ec, 0): qtCompilerErrror($$1) return($$ret) } @@ -171,8 +178,7 @@ defineReplace(qtVariablesFromGCC) { null_device = /dev/null equals(QMAKE_HOST.os, Windows): null_device = NUL ret = $$system("$$1 -E $$system_quote($$PWD/data/macros.cpp) <$$null_device 2>$$null_device", lines, ec) - !equals(ec, 0): \ - error("Cannot run compiler '$$1'. Maybe you forgot to setup the environment?") + !equals(ec, 0): qtCompilerErrror($$1) return($$ret) } diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf index 105391f6f4..6529d4118f 100644 --- a/mkspecs/win32-g++/qmake.conf +++ b/mkspecs/win32-g++/qmake.conf @@ -52,8 +52,10 @@ QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows QMAKE_LFLAGS_DLL = -shared QMAKE_LFLAGS_GCSECTIONS = -Wl,--gc-sections -QMAKE_LINK_OBJECT_MAX = 10 -QMAKE_LINK_OBJECT_SCRIPT = object_script +equals(QMAKE_HOST.os, Windows) { + QMAKE_LINK_OBJECT_MAX = 10 + QMAKE_LINK_OBJECT_SCRIPT = object_script +} QMAKE_PREFIX_SHLIB = QMAKE_EXTENSION_SHLIB = dll QMAKE_PREFIX_STATICLIB = lib |