Details
Description
Instead of having vcvarsall.bat run all over the place, let's run it once in the agent, like
"c:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat" amd64 >NUL && set
and use the output of that to set all the environment variables again. This list will this time include all environment variables that the batch file would set, but they would be set by the agent to this parent process. Any command run by the agent now would be a sub process and would contain the correct visual studio env variables.
This instruction for the agent would come from platform_configuration's yaml files, like:
Template: 'qtci-windows-10-x86_64-14' Compiler: 'Clang_msvc2017' Features: ['DisableTests'] MSVC_batch: ['"c:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat" amd64'] Environment variables: ['PATH=C:\Utils\LLVM-7.1.0-win64\bin;C:\Utils\jom;$PATH', 'TARGET_ARCHITECTURE=amd64'] Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info
This change cleans up a lot of code from platforminstructions and yaml files under the modules and makes it possible to define new visual studios without touching Coin itself.