diff options
author | Liang Qi <liang.qi@qt.io> | 2019-12-16 07:05:19 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2019-12-16 07:05:19 +0100 |
commit | ee71a9ba8169b9327b8dbaf2266ebeb515c64dbb (patch) | |
tree | a2eb41c9b1b47ac8cd6f22c289f7227569ee0a5a /qmake | |
parent | d6266c757d2f2ea4ff1e71dc8545f9bf97aa3bb1 (diff) | |
parent | 98f19f00361bf25097281cae5dfa833ba7db8a2f (diff) |
Merge remote-tracking branch 'origin/5.14' into 5.15
Conflicts:
src/network/ssl/qsslsocket.cpp
src/widgets/kernel/qapplication.cpp
Change-Id: Ib7421cc2df59d0969f89b3fbd65a17ea76ffef3b
Diffstat (limited to 'qmake')
-rw-r--r-- | qmake/doc/src/qmake-manual.qdoc | 2 | ||||
-rw-r--r-- | qmake/generators/mac/pbuilder_pbx.cpp | 29 |
2 files changed, 19 insertions, 12 deletions
diff --git a/qmake/doc/src/qmake-manual.qdoc b/qmake/doc/src/qmake-manual.qdoc index ed7fe60fdc..0a8326d94a 100644 --- a/qmake/doc/src/qmake-manual.qdoc +++ b/qmake/doc/src/qmake-manual.qdoc @@ -5407,7 +5407,7 @@ \li The exit code of the test will be ignored during \c{make check}. \endtable - Testcases will often be written with \l{QTest} or \l{TestCase}, but + Test cases will often be written with \l{QTest} or \l[QML]{TestCase}, but that is not a requirement to make use of \c{CONFIG+=testcase} and \c{make check}. The only primary requirement is that the test program exit with a zero exit code on success, and a non-zero exit code on failure. diff --git a/qmake/generators/mac/pbuilder_pbx.cpp b/qmake/generators/mac/pbuilder_pbx.cpp index 24e69444c9..c2f6df7787 100644 --- a/qmake/generators/mac/pbuilder_pbx.cpp +++ b/qmake/generators/mac/pbuilder_pbx.cpp @@ -1629,17 +1629,24 @@ ProjectBuilderMakefileGenerator::writeMakeParts(QTextStream &t) } } - // The symroot is marked by xcodebuild as excluded from Time Machine - // backups, as it's a temporary build dir, so we don't want it to be - // the same as the possibe in-source dir, as that would leave out - // sources from being backed up. - t << "\t\t\t\t" << writeSettings("SYMROOT", - Option::output_dir + Option::dir_sep + ".xcode") << ";\n"; - - // The configuration build dir however is not treated as excluded, - // so we can safely point it to the root output dir. - t << "\t\t\t\t" << writeSettings("CONFIGURATION_BUILD_DIR", - Option::output_dir + Option::dir_sep + "$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)") << ";\n"; + if (Option::output_dir != qmake_getpwd()) { + // The SYMROOT is marked by Xcode as excluded from Time Machine + // backups, as it's a temporary build dir, but that's fine when + // we are shadow building. + t << "\t\t\t\t" << writeSettings("SYMROOT", "$(PROJECT_DIR)") << ";\n"; + } else { + // For in-source builds we don't want to exclude the sources + // from being backed up, so we point SYMROOT to a temporary + // build directory. + t << "\t\t\t\t" << writeSettings("SYMROOT", ".xcode") << ";\n"; + + // Then we set the configuration build dir instead, so that the + // final build artifacts end up in the place Qt Creator expects. + // The disadvantage of using this over SYMROOT is that Xcode will + // fail to archive projects that override this variable. + t << "\t\t\t\t" << writeSettings("CONFIGURATION_BUILD_DIR", + "$(PROJECT_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)") << ";\n"; + } if (!project->isEmpty("DESTDIR")) { ProString dir = project->first("DESTDIR"); |