From 8cef809b16aac9d4c4163ff2e2e831adf70133c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Tue, 2 Jan 2018 22:49:08 +0200 Subject: qmake: Handle QMAKE_LINK_OBJECT_MAX being unset for static libraries This was missed in 8bebded9. Task-number: QTBUG-63637 Change-Id: I6be472430a9aa8f533def4fd6c14c8dbfe8b6f70 Reviewed-by: Oswald Buddenhagen --- qmake/generators/win32/mingw_make.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'qmake') diff --git a/qmake/generators/win32/mingw_make.cpp b/qmake/generators/win32/mingw_make.cpp index 792ffb1997..d6d6b04148 100644 --- a/qmake/generators/win32/mingw_make.cpp +++ b/qmake/generators/win32/mingw_make.cpp @@ -324,7 +324,8 @@ void MingwMakefileGenerator::writeBuildRulesPart(QTextStream &t) t << "\n\t" <isActiveConfig("staticlib") && project->first("TEMPLATE") == "lib") { t << "\n\t-$(DEL_FILE) $(DESTDIR_TARGET) 2>" << var("QMAKE_SHELL_NULL_DEVICE"); - if (project->values("OBJECTS").count() < var("QMAKE_LINK_OBJECT_MAX").toInt()) { + const ProString &objmax = project->first("QMAKE_LINK_OBJECT_MAX"); + if (objmax.isEmpty() || project->values("OBJECTS").count() < objmax.toInt()) { t << "\n\t$(LIB) $(DESTDIR_TARGET) " << objectsLinkLine << " " ; } else { t << "\n\t" << objectsLinkLine << " " ; -- cgit v1.2.3 From fe72571da885499739f723e054e1ba5433fb36e8 Mon Sep 17 00:00:00 2001 From: Jake Petroules Date: Thu, 4 Jan 2018 23:45:42 -0800 Subject: qmake: replace invalid characters in generated bundle identifiers This problem does not affect the Xcode generator. Task-number: QTBUG-65477 Change-Id: I6194edc5b679edad9ae1a25e35b71e5df9bd4c95 Reviewed-by: Oswald Buddenhagen --- qmake/generators/unix/unixmake2.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'qmake') diff --git a/qmake/generators/unix/unixmake2.cpp b/qmake/generators/unix/unixmake2.cpp index f7097e58dc..6b08a2dd28 100644 --- a/qmake/generators/unix/unixmake2.cpp +++ b/qmake/generators/unix/unixmake2.cpp @@ -155,6 +155,20 @@ UnixMakefileGenerator::writeSubTargets(QTextStream &t, QList= '0' && c <= '9') || (c >= 'A' && c <= 'Z') + || (c >= 'a' && c <= 'z') || c == '-' || c == '.'; + if (!okChar) + ch = QChar::fromLatin1('-'); + } + return s; +} + void UnixMakefileGenerator::writeMakeParts(QTextStream &t) { @@ -826,7 +840,7 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t) if (bundleIdentifier.endsWith(".framework")) bundleIdentifier.chop(10); // replace invalid bundle id characters - bundleIdentifier.replace('_', '-'); + bundleIdentifier = rfc1034Identifier(bundleIdentifier); commonSedArgs << "-e \"s,@BUNDLEIDENTIFIER@," << bundleIdentifier << ",g\" "; if (!isFramework) { -- cgit v1.2.3 From 1c8224511dee2794553da9dc8ed484d49dc78b45 Mon Sep 17 00:00:00 2001 From: Jake Petroules Date: Fri, 5 Jan 2018 00:40:46 -0800 Subject: qmake: set COPY_PHASE_STRIP to NO in Xcode generator Since Xcode 6.3, this must be set to NO because stripping on copy is no longer fully supported due to the potential of input binaries being code signed. In this case Xcode will simply ignore the strip step and issue a warning since stripping would invalidate the code signature. This change silences that annoying warning for release builds. Also, the setting assignment is moved from being hardcoded in the generator, to a QMAKE_MAC_XCODE_SETTINGS value. Change-Id: If25511edddc12b7b0407e2992d80884b7d6437dc Reviewed-by: Gabriel de Dietrich --- qmake/generators/mac/pbuilder_pbx.cpp | 2 -- 1 file changed, 2 deletions(-) (limited to 'qmake') diff --git a/qmake/generators/mac/pbuilder_pbx.cpp b/qmake/generators/mac/pbuilder_pbx.cpp index 0622ace71b..db7a1b2714 100644 --- a/qmake/generators/mac/pbuilder_pbx.cpp +++ b/qmake/generators/mac/pbuilder_pbx.cpp @@ -279,7 +279,6 @@ ProjectBuilderMakefileGenerator::writeSubDirs(QTextStream &t) QString configName = (as_release ? "Release" : "Debug"); QMap settings; - settings.insert("COPY_PHASE_STRIP", (as_release ? "YES" : "NO")); if(project->isActiveConfig("sdk") && !project->isEmpty("QMAKE_MAC_SDK")) settings.insert("SDKROOT", project->first("QMAKE_MAC_SDK").toQString()); { @@ -1493,7 +1492,6 @@ ProjectBuilderMakefileGenerator::writeMakeParts(QTextStream &t) settings.insert("PROVISIONING_PROFILE_SPECIFIER", project->first("QMAKE_PROVISIONING_PROFILE").toQString()); } - settings.insert("COPY_PHASE_STRIP", (as_release ? "YES" : "NO")); settings.insert("APPLICATION_EXTENSION_API_ONLY", project->isActiveConfig("app_extension_api_only") ? "YES" : "NO"); // required for tvOS (and watchos), optional on iOS (deployment target >= iOS 6.0) settings.insert("ENABLE_BITCODE", project->isActiveConfig("bitcode") ? "YES" : "NO"); -- cgit v1.2.3