1@echo on
2set BITS=""
3set ARCH=""
4if "%1%"=="" (
5  if "%MBITS%" == "" (set BITS=32) else (set BITS=%MBITS%)
6) else (
7  set BITS=%1%
8)
9if "%BITS%"=="32" (
10  set ARCH=i686
11) else (
12  set ARCH=x86_64
13)
14
15echo Build %BITS% bits with mingw-w64-%ARCH%
16
17set OPATH=%PATH%
18SET MSYS2=C:\msys64
19
20set MINGW=%MSYS2%\mingw%BITS%\bin;%MSYS2%\usr\bin
21set PATH=%MINGW%;%OPATH%;%CD%\Neovim\bin
22
23pacman -Sy --noconfirm
24pacman -S --needed --noconfirm mingw-w64-%ARCH%-gcc
25pacman -S --needed --noconfirm mingw-w64-%ARCH%-cmake
26pacman -S --needed --noconfirm mingw-w64-%ARCH%-jasper
27pacman -S --needed --noconfirm mingw-w64-%ARCH%-python2
28pacman -S --needed --noconfirm mingw-w64-%ARCH%-qt5-static
29
30set MINGW=%MSYS2%\mingw%BITS%\bin
31set PATH=%MINGW%;%OPATH%
32
33rem CMake/MinGW workaround - remove sh.exe from PATH
34set PATH=%PATH:C:\Program Files\Git\usr\bin;=%
35where sh
36
37set QTDIR=%MSYS2%\mingw%BITS%\qt5-static
38set CMAKE_PREFIX_PATH=%QTDIR%
39SET NVIM_QT_RUNTIME_PATH=../src/gui/runtime bin/nvim-qt
40
41set PATH=%PATH%;%QTDIR%\bin;%CD%\Neovim\bin;
42
43mkdir build
44cd build
45cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -DUSE_STATIC_QT=1 -DCMAKE_PREFIX_PATH=%QTDIR% -DCMAKE_INSTALL_PREFIX=../INSTALL .. || goto error
46cmake --build . --target install || goto error
47ctest -VV || goto error
48strip ..\INSTALL\bin\nvim-qt.exe
49
50goto :EOF
51
52:error
53echo Failed with error #%errorlevel%.
54exit /b %errorlevel%
55