diff options
Diffstat (limited to 'qmake/generators')
-rw-r--r-- | qmake/generators/mac/pbuilder_pbx.cpp | 2 | ||||
-rw-r--r-- | qmake/generators/unix/unixmake2.cpp | 4 | ||||
-rw-r--r-- | qmake/generators/win32/msbuild_objectmodel.cpp | 20 |
3 files changed, 22 insertions, 4 deletions
diff --git a/qmake/generators/mac/pbuilder_pbx.cpp b/qmake/generators/mac/pbuilder_pbx.cpp index fa4a844a5d..da64c33cf2 100644 --- a/qmake/generators/mac/pbuilder_pbx.cpp +++ b/qmake/generators/mac/pbuilder_pbx.cpp @@ -795,7 +795,7 @@ ProjectBuilderMakefileGenerator::writeMakeParts(QTextStream &t) mkt << "\\\n\t"; ++added; const QString file_name = fileFixify(fn, Option::output_dir, Option::output_dir); - mkt << " " << replaceExtraCompilerVariables(tmp_out.first().toQString(), file_name, QString()); + mkt << " " << replaceExtraCompilerVariables(Option::fixPathToTargetOS(tmp_out.first().toQString(), false), file_name, QString()); } } } diff --git a/qmake/generators/unix/unixmake2.cpp b/qmake/generators/unix/unixmake2.cpp index 2ee9110b01..8959305238 100644 --- a/qmake/generators/unix/unixmake2.cpp +++ b/qmake/generators/unix/unixmake2.cpp @@ -729,11 +729,15 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t) QString::fromLatin1("????") : project->first("QMAKE_PKGINFO_TYPEINFO").left(4)) << ",g\" "; if(project->first("TEMPLATE") == "app") { QString icon = fileFixify(var("ICON")); + QString bundleIdentifier = "com.yourcompany." + var("QMAKE_BUNDLE"); + if (bundleIdentifier.endsWith(".app")) + bundleIdentifier.chop(4); t << "@$(DEL_FILE) " << info_plist_out << "\n\t" << "@sed "; foreach (const ProString &arg, commonSedArgs) t << arg; t << "-e \"s,@ICON@," << icon.section(Option::dir_sep, -1) << ",g\" " + << "-e \"s,@BUNDLEIDENTIFIER@," << bundleIdentifier << ",g\" " << "-e \"s,@EXECUTABLE@," << var("QMAKE_ORIG_TARGET") << ",g\" " << "-e \"s,@TYPEINFO@,"<< (project->isEmpty("QMAKE_PKGINFO_TYPEINFO") ? QString::fromLatin1("????") : project->first("QMAKE_PKGINFO_TYPEINFO").left(4)) << ",g\" " diff --git a/qmake/generators/win32/msbuild_objectmodel.cpp b/qmake/generators/win32/msbuild_objectmodel.cpp index 75d3c4fa9c..f37c3180f4 100644 --- a/qmake/generators/win32/msbuild_objectmodel.cpp +++ b/qmake/generators/win32/msbuild_objectmodel.cpp @@ -949,13 +949,15 @@ static inline QString toString(compileAsManagedOptions option) return QString(); } -static inline QString toString(debugOption option) +static inline QString toString(debugOption option, DotNET compilerVersion) { switch (option) { case debugUnknown: case debugLineInfoOnly: break; case debugDisabled: + if (compilerVersion <= NET2010) + break; return "None"; case debugOldStyleInfo: return "OldStyle"; @@ -1421,6 +1423,17 @@ static inline triState toTriState(termSvrAwarenessType option) return unset; } +static XmlOutput::xml_output fixedProgramDataBaseFileNameOutput(const VCCLCompilerTool &tool) +{ + if (tool.config->CompilerVersion >= NET2012 + && tool.DebugInformationFormat == debugDisabled + && tool.ProgramDataBaseFileName.isEmpty()) { + // Force the creation of an empty tag to work-around Visual Studio bug. See QTBUG-35570. + return tagValue(_ProgramDataBaseFileName, tool.ProgramDataBaseFileName); + } + return attrTagS(_ProgramDataBaseFileName, tool.ProgramDataBaseFileName); +} + void VCXProjectWriter::write(XmlOutput &xml, const VCCLCompilerTool &tool) { xml @@ -1440,7 +1453,8 @@ void VCXProjectWriter::write(XmlOutput &xml, const VCCLCompilerTool &tool) << attrTagS(_CompileAsManaged, toString(tool.CompileAsManaged)) << attrTagT(_CompileAsWinRT, tool.CompileAsWinRT) << attrTagT(_CreateHotpatchableImage, tool.CreateHotpatchableImage) - << attrTagS(_DebugInformationFormat, toString(tool.DebugInformationFormat)) + << attrTagS(_DebugInformationFormat, toString(tool.DebugInformationFormat, + tool.config->CompilerVersion)) << attrTagT(_DisableLanguageExtensions, tool.DisableLanguageExtensions) << attrTagX(_DisableSpecificWarnings, tool.DisableSpecificWarnings, ";") << attrTagS(_EnableEnhancedInstructionSet, toString(tool.EnableEnhancedInstructionSet)) @@ -1476,7 +1490,7 @@ void VCXProjectWriter::write(XmlOutput &xml, const VCCLCompilerTool &tool) << attrTagS(_PreprocessOutputPath, tool.PreprocessOutputPath) << attrTagT(_PreprocessSuppressLineNumbers, tool.PreprocessSuppressLineNumbers) << attrTagT(_PreprocessToFile, toTriState(tool.GeneratePreprocessedFile)) - << attrTagS(_ProgramDataBaseFileName, tool.ProgramDataBaseFileName) + << fixedProgramDataBaseFileNameOutput(tool) << attrTagS(_ProcessorNumber, tool.MultiProcessorCompilationProcessorCount) << attrTagS(_RuntimeLibrary, toString(tool.RuntimeLibrary)) << attrTagT(_RuntimeTypeInfo, tool.RuntimeTypeInfo) |