diff options
author | Robert Löhning <robert.loehning@qt.io> | 2022-05-11 20:18:33 +0200 |
---|---|---|
committer | Robert Löhning <robert.loehning@qt.io> | 2022-05-18 08:56:43 +0000 |
commit | 67f907f295d93eacf77b3c6dc20c863c43910160 (patch) | |
tree | 061be48032827f3dd033349ac5aa12004518918a | |
parent | 259759b5c9fb7ca92bb08d6663aff432a2caf781 (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.xml | 16 | ||||
-rw-r--r-- | tests/system/shared/qtcreator.py | 18 |
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] |