From 06f0d8a1a9a1d8d46e6f4f3894d76781dfb6638c Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Tue, 7 Aug 2012 17:16:56 +0200 Subject: qmake vcxproj generator: map TARGET_EXT to $(TargetExt) Task-number: QTBUG-26782 Cherry-picked from qt5/qtbase commit e81d7fd1e57fe2ce11cbe07636f890973116f7ab Change-Id: I7a93ede18d83d1ecfa74449fc5db76e8b3f6ae99 Reviewed-by: Oswald Buddenhagen --- qmake/generators/win32/msbuild_objectmodel.cpp | 12 ++++++++++-- qmake/generators/win32/msvc_objectmodel.h | 1 + qmake/generators/win32/msvc_vcproj.cpp | 1 + 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/qmake/generators/win32/msbuild_objectmodel.cpp b/qmake/generators/win32/msbuild_objectmodel.cpp index c8d6812..40bdd11 100644 --- a/qmake/generators/win32/msbuild_objectmodel.cpp +++ b/qmake/generators/win32/msbuild_objectmodel.cpp @@ -455,7 +455,11 @@ void VCXProjectWriter::write(XmlOutput &xml, VCProjectSingleConfig &tool) << attrTag("Condition", condition) << valueTag(tool.Configuration.PrimaryOutput); } - + if (!tool.Configuration.PrimaryOutputExtension.isEmpty()) { + xml<< tag("TargetExt") + << attrTag("Condition", condition) + << valueTag(tool.Configuration.PrimaryOutputExtension); + } if ( tool.Configuration.linker.IgnoreImportLibrary != unset) { xml<< tag("IgnoreImportLibrary") << attrTag("Condition", condition) @@ -650,7 +654,11 @@ void VCXProjectWriter::write(XmlOutput &xml, VCProject &tool) << attrTag("Condition", condition) << valueTag(config.PrimaryOutput); } - + if (!config.PrimaryOutputExtension.isEmpty()) { + xml << tag("TargetExt") + << attrTag("Condition", condition) + << valueTag(config.PrimaryOutputExtension); + } if (config.linker.IgnoreImportLibrary != unset) { xml << tag("IgnoreImportLibrary") << attrTag("Condition", condition) diff --git a/qmake/generators/win32/msvc_objectmodel.h b/qmake/generators/win32/msvc_objectmodel.h index 8b1cf51..37d0b77 100644 --- a/qmake/generators/win32/msvc_objectmodel.h +++ b/qmake/generators/win32/msvc_objectmodel.h @@ -856,6 +856,7 @@ public: QString ConfigurationName; QString OutputDirectory; QString PrimaryOutput; + QString PrimaryOutputExtension; QString ProgramDatabase; triState RegisterOutput; useOfATL UseOfATL; diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp index 7dc2053..9a9755b 100644 --- a/qmake/generators/win32/msvc_vcproj.cpp +++ b/qmake/generators/win32/msvc_vcproj.cpp @@ -897,6 +897,7 @@ void VcprojGenerator::initConfiguration() conf.PrimaryOutput = project->first("TARGET"); if ( !conf.PrimaryOutput.isEmpty() && !project->first("TARGET_VERSION_EXT").isEmpty() && project->isActiveConfig("shared")) conf.PrimaryOutput.append(project->first("TARGET_VERSION_EXT")); + conf.PrimaryOutputExtension = project->first("TARGET_EXT"); } conf.Name = project->values("BUILD_NAME").join(" "); -- cgit v0.12