qmake vcxproj generator: map TARGET_EXT to $(TargetExt)
authorJoerg Bornemann <joerg.bornemann@nokia.com>
Tue, 7 Aug 2012 15:16:56 +0000 (17:16 +0200)
committerQt by Nokia <qt-info@nokia.com>
Tue, 7 Aug 2012 16:55:43 +0000 (18:55 +0200)
Task-number: QTBUG-26782

Change-Id: Ib143fa6b8674c4d09d798a9301bb209b886e791d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
qmake/generators/win32/msbuild_objectmodel.cpp
qmake/generators/win32/msvc_objectmodel.h
qmake/generators/win32/msvc_vcproj.cpp

index 7b004e5..52f50a0 100644 (file)
@@ -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)
@@ -652,7 +656,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)
index 0d1e11b..4c55408 100644 (file)
@@ -856,6 +856,7 @@ public:
     QString                 ConfigurationName;
     QString                 OutputDirectory;
     QString                 PrimaryOutput;
+    QString                 PrimaryOutputExtension;
     QString                 ProgramDatabase;
     triState                RegisterOutput;
     useOfATL                UseOfATL;
index 7291c42..f823889 100644 (file)
@@ -908,6 +908,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(" ");