diff options
-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] |