Invoking an NMAKE build

I have solved this problem by creating an auxiliary BAT script, so avoiding all the quoting madness between MSYS2, Bash, and CMD.

The script is in code/w3i6mv.bat:

@rem w3i6mv.bat -- set up and invoke build from raw CMD on Windows
@rem This can be invoked from a plain CMD from the MPS workspace
@rem like this::
@rem code\w3i6mv.bat
@rem or from Git Bash in Travis CI build machines like this::
@rem MSYS2_ARG_CONV_EXCL='*' cmd /k 'code\w3i6mv.bat'
@rem which is how it's invoked from .travis.yml
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" x64
cd code
nmake /f w3i6mv.nmk

and it’s invoked from .travis.yml like this:

  include:
    - os: windows
      arch: amd64
      compiler: clang # This is a lie since we invoke MV (Microsoft C)
      script: MSYS2_ARG_CONV_EXCL='*' cmd /c 'code\w3i6mv.bat'

So we have to lie to Travis CI about the toolchain, which is a shame, but this is only a few lines of extra stuff, so it keeps Travis integration lightweight, which is what we need.