aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Löhning <robert.loehning@qt.io>2022-05-11 20:18:33 +0200
committerRobert Löhning <robert.loehning@qt.io>2022-05-18 08:56:43 +0000
commit67f907f295d93eacf77b3c6dc20c863c43910160 (patch)
tree061be48032827f3dd033349ac5aa12004518918a
parent259759b5c9fb7ca92bb08d6663aff432a2caf781 (diff)
Squish: Fix MSVC2017 toolchain
Without this, Creator cannot set up CMake properly in the kit so configuring projects fails. MSVC2015 also needs a fix. Change-Id: I19c065eb087d098174c84301aa52cc3888ec42b7 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
-rw-r--r--tests/system/settings/windows/QtProject/qtcreator/toolchains.xml16
-rw-r--r--tests/system/shared/qtcreator.py18
2 files changed, 32 insertions, 2 deletions
diff --git a/tests/system/settings/windows/QtProject/qtcreator/toolchains.xml b/tests/system/settings/windows/QtProject/qtcreator/toolchains.xml
index b95c78667d..a5d80d7dcb 100644
--- a/tests/system/settings/windows/QtProject/qtcreator/toolchains.xml
+++ b/tests/system/settings/windows/QtProject/qtcreator/toolchains.xml
@@ -40,7 +40,13 @@
<value type="QString" key="ProjectExplorer.MsvcToolChain.SupportedAbi">x86-windows-msvc2017-pe-64bit</value>
<value type="QString" key="ProjectExplorer.MsvcToolChain.VarsBat">C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Auxiliary/Build/vcvarsall.bat</value>
<value type="QString" key="ProjectExplorer.MsvcToolChain.VarsBatArg">amd64</value>
- <value type="bool" key="ProjectExplorer.ToolChain.Autodetect">false</value>
+ <valuelist type="QVariantList" key="ProjectExplorer.MsvcToolChain.environmentModifications">
+ <valuelist type="QVariantList">
+ <value type="QString">PATH</value>
+ <value type="int">0</value>
+ <value type="QString">SQUISH_MSVC2017_PATH</value>
+ </valuelist>
+ </valuelist>
<value type="QString" key="ProjectExplorer.ToolChain.DisplayName">MSVC2017 (amd64)</value>
<value type="QString" key="ProjectExplorer.ToolChain.Id">ProjectExplorer.ToolChain.Msvc:{ce3a8004-e9ae-46f2-b62d-d7daf69435ca}</value>
<value type="int" key="ProjectExplorer.ToolChain.Language">1</value>
@@ -79,7 +85,13 @@
<value type="QString" key="ProjectExplorer.MsvcToolChain.SupportedAbi">x86-windows-msvc2017-pe-64bit</value>
<value type="QString" key="ProjectExplorer.MsvcToolChain.VarsBat">C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Auxiliary/Build/vcvarsall.bat</value>
<value type="QString" key="ProjectExplorer.MsvcToolChain.VarsBatArg">amd64</value>
- <value type="bool" key="ProjectExplorer.ToolChain.Autodetect">false</value>
+ <valuelist type="QVariantList" key="ProjectExplorer.MsvcToolChain.environmentModifications">
+ <valuelist type="QVariantList">
+ <value type="QString">PATH</value>
+ <value type="int">0</value>
+ <value type="QString">SQUISH_MSVC2017_PATH</value>
+ </valuelist>
+ </valuelist>
<value type="QString" key="ProjectExplorer.ToolChain.DisplayName">MSVC2017 (amd64)</value>
<value type="QString" key="ProjectExplorer.ToolChain.Id">ProjectExplorer.ToolChain.Msvc:{3df7c776-a480-4a04-9099-6c75adac2dca}</value>
<value type="int" key="ProjectExplorer.ToolChain.Language">2</value>
diff --git a/tests/system/shared/qtcreator.py b/tests/system/shared/qtcreator.py
index 984d3700cc..e9d2e18cfc 100644
--- a/tests/system/shared/qtcreator.py
+++ b/tests/system/shared/qtcreator.py
@@ -231,6 +231,23 @@ def substituteCdb(settingsDir):
__substitute__(debuggers, "SQUISH_DEBUGGER_BITNESS", bitness)
test.log("Injected architecture '%s' and bitness '%s' in cdb path..." % (architecture, bitness))
+
+def substituteMsvcPaths(settingsDir):
+ for msvcFlavor in ["Community", "BuildTools"]:
+ try:
+ msvc2017Path = os.path.join("C:\\Program Files (x86)", "Microsoft Visual Studio",
+ "2017", msvcFlavor, "VC", "Tools", "MSVC")
+ msvc2017Path = os.path.join(msvc2017Path, os.listdir(msvc2017Path)[0], "bin",
+ "HostX64", "x64")
+ __substitute__(os.path.join(settingsDir, "QtProject", 'qtcreator', 'toolchains.xml'),
+ "SQUISH_MSVC2017_PATH", msvc2017Path)
+ return
+ except:
+ continue
+ test.warning("PATH variable for MSVC2017 could not be set, some tests will fail.",
+ "Please make sure that MSVC2017 is installed correctly.")
+
+
def __guessABI__(supportedABIs, use64Bit):
if platform.system() == 'Linux':
supportedABIs = filter(lambda x: 'linux' in x, supportedABIs)
@@ -325,6 +342,7 @@ def copySettingsToTmpDir(destination=None, omitFiles=[]):
substituteDefaultCompiler(tmpSettingsDir)
elif platform.system() in ('Windows', 'Microsoft'):
substituteCdb(tmpSettingsDir)
+ substituteMsvcPaths(tmpSettingsDir)
substituteUnchosenTargetABIs(tmpSettingsDir)
SettingsPath = ['-settingspath', '"%s"' % tmpSettingsDir]