From ca47896204482bf4a6979e3838bf7f09f61cebeb Mon Sep 17 00:00:00 2001
From: giy <giy@omp-system.ru>
Date: Fri, 02 Sep 2022 14:16:56 +0300
Subject: [PATCH] Обновление до версии 2.9.0

---
 QtMSBuild/QtMsBuild/qt_vars.targets |   74 +++++++++++++++++++++++++++++++++++--
 1 files changed, 70 insertions(+), 4 deletions(-)

diff --git a/QtMSBuild/QtMsBuild/qt_vars.targets b/QtMSBuild/QtMsBuild/qt_vars.targets
index 80c141c..2ad7445 100644
--- a/QtMSBuild/QtMsBuild/qt_vars.targets
+++ b/QtMSBuild/QtMsBuild/qt_vars.targets
@@ -199,7 +199,8 @@
     <ItemGroup>
       <QMakeArgsList Condition="'$(QMakeOptionEarly)' == 'true'" Include="-early"/>
       <QMakeArgsList Include="CONFIG -= debug release debug_and_release"/>
-      <QMakeArgsList Include="CONFIG += $(QtBuildConfig)"/>
+      <QMakeArgsList Include="CONFIG += $(QtBuildConfig) warn_off"/>
+      <QMakeArgsList Condition="'$(QtPlugin)' == 'true'" Include="CONFIG += plugin"/>
       <QMakeArgsList Include="$(QMakeExtraArgs)"/>
     </ItemGroup>
     <ItemGroup>
@@ -281,7 +282,32 @@
         $(QtVarsProFileInput)
         DEFINES -= UNICODE _UNICODE
       </QtVarsProFileInput>
+      <!--
+# Add dummy QML object if needed -->
+      <QtVarsProFileInput Condition="$(QtModules.Contains('quick'))">
+        $(QtVarsProFileInput)
+        RESOURCES += qml.qrc
+      </QtVarsProFileInput>
     </PropertyGroup>
+
+    <!--// Write dummy QML and QRC files -->
+    <WriteLinesToFile
+      Condition="$(QtModules.Contains('quick'))"
+      File="$(QtVarsWorkDir)\main.qml"
+      Lines="
+import QtQuick
+DummyQmlObject { }
+"/>
+    <WriteLinesToFile
+      Condition="$(QtModules.Contains('quick'))"
+      File="$(QtVarsWorkDir)\qml.qrc"
+      Lines="
+&lt;RCC&gt;
+    &lt;qresource prefix=&quot;/&quot;&gt;
+        &lt;file&gt;main.qml&lt;/file&gt;
+    &lt;/qresource&gt;
+&lt;/RCC&gt;
+"/>
 
     <!--// Write .pro file to temp path -->
     <WriteLinesToFile
@@ -313,6 +339,7 @@
       <Cmd><![CDATA["$(QtToolsPath)/qmake" $(QMakeArgs) qtvars.pro]]></Cmd>
     </PropertyGroup>
     <HostExec
+      Condition="'$(ApplicationType)' == 'Linux'"
       Command="$(Cmd)" RedirectStdOut="qtvars.log" RedirectStdErr="STDOUT"
       WorkingDirectory="@(WorkDir->'%(HostPath)')"
       Inputs="@(QMakeProj)"
@@ -322,6 +349,45 @@
       IgnoreExitCode="true">
       <Output TaskParameter="ExitCode" PropertyName="ErrorLevel"/>
     </HostExec>
+
+    <!--// Run qmake in Windows: set %CD% to subfolder of %TEMP% -->
+    <PropertyGroup
+      Condition="'$(ApplicationType)' != 'Linux'">
+      <QMakeTempDir>$(Temp)\$([System.IO.Path]::GetRandomFileName())</QMakeTempDir>
+    </PropertyGroup>
+    <MakeDir
+      Condition="'$(ApplicationType)' != 'Linux'"
+      Directories="$(QMakeTempDir)" />
+    <Copy
+      Condition="'$(ApplicationType)' != 'Linux'"
+      SourceFiles="$(QtVarsWorkDir)\qtvars.pro"
+      DestinationFolder="$(QMakeTempDir)" />
+    <Copy
+      Condition="'$(ApplicationType)' != 'Linux' AND Exists('$(QtVarsWorkDir)\main.qml')"
+      SourceFiles="$(QtVarsWorkDir)\main.qml"
+      DestinationFolder="$(QMakeTempDir)" />
+    <Copy
+      Condition="'$(ApplicationType)' != 'Linux' AND Exists('$(QtVarsWorkDir)\qml.qrc')"
+      SourceFiles="$(QtVarsWorkDir)\qml.qrc"
+      DestinationFolder="$(QMakeTempDir)" />
+    <HostExec
+      Condition="'$(ApplicationType)' != 'Linux'"
+      Command="$(Cmd)" RedirectStdOut="qtvars.log" RedirectStdErr="STDOUT"
+      WorkingDirectory="$(QMakeTempDir)"
+      IgnoreExitCode="true">
+      <Output TaskParameter="ExitCode" PropertyName="ErrorLevel"/>
+    </HostExec>
+    <ItemGroup>
+      <QMakeGeneratedFiles Include="$(QMakeTempDir)\*" />
+    </ItemGroup>
+    <Copy
+      Condition="'$(ApplicationType)' != 'Linux'"
+      SkipUnchangedFiles="true"
+      SourceFiles="@(QMakeGeneratedFiles)"
+      DestinationFolder="$(QtVarsWorkDir)" />
+    <RemoveDir
+      Condition="'$(ApplicationType)' != 'Linux'"
+      Directories="$(QMakeTempDir)" />
 
     <!--// Check qmake result -->
     <PropertyGroup
@@ -501,15 +567,15 @@
     <!--// In design-time, copy generated .props to randomly named file -->
     <PropertyGroup>
       <QtVarsDesignTimeNew
-        Condition="'$(ErrorLevel)' == '0' AND '$(QtVSToolsBuild)' == 'true'"
+        Condition="'$(ErrorLevel)' == '0' AND '$(QtDesignTimeBuild)' == 'true'"
         >$([System.IO.Path]::Combine('$(TEMP)','$([System.IO.Path]::GetRandomFileName()).designtime.props'))
       </QtVarsDesignTimeNew>
     </PropertyGroup>
     <Copy
-      Condition="'$(ErrorLevel)' == '0' AND '$(QtVSToolsBuild)' == 'true'"
+      Condition="'$(ErrorLevel)' == '0' AND '$(QtDesignTimeBuild)' == 'true'"
       SourceFiles="$(QtVarsFilePath)" DestinationFiles="$(QtVarsDesignTimeNew)"/>
     <WriteLinesToFile
-      Condition="'$(ErrorLevel)' == '0' AND '$(QtVSToolsBuild)' == 'true'"
+      Condition="'$(ErrorLevel)' == '0' AND '$(QtDesignTimeBuild)' == 'true'"
       File="$(QtVarsIndexPathDesignTime)" Overwrite="true" Lines="$(QtVarsDesignTimeNew)"/>
 
     <!--// Clean-up -->

--
Gitblit v1.9.1