diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 08:50:31 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 08:50:31 +0000 |
commit | aed8ce9da277f5ecffe968b324f242c41c3b752a (patch) | |
tree | d2e538394cb7a8a7c42a4aac6ccf1a8e3256999b /ci/appveyor.bat | |
parent | Initial commit. (diff) | |
download | vim-aed8ce9da277f5ecffe968b324f242c41c3b752a.tar.xz vim-aed8ce9da277f5ecffe968b324f242c41c3b752a.zip |
Adding upstream version 2:9.0.1378.upstream/2%9.0.1378upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'ci/appveyor.bat')
-rw-r--r-- | ci/appveyor.bat | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/ci/appveyor.bat b/ci/appveyor.bat new file mode 100644 index 0000000..5498769 --- /dev/null +++ b/ci/appveyor.bat @@ -0,0 +1,114 @@ +@echo off +:: Batch file for building/testing Vim on AppVeyor +set target=%1 + +setlocal ENABLEDELAYEDEXPANSION +cd %APPVEYOR_BUILD_FOLDER% + +:: Python3 +set PYTHON3_VER=311 +set PYTHON3_RELEASE=3.11.1 +set PYTHON3_URL=https://www.python.org/ftp/python/%PYTHON3_RELEASE%/python-%PYTHON3_RELEASE%-amd64.exe +set PYTHON3_DIR=C:\python%PYTHON3_VER%-x64 + +set "VSWHERE=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" + +if exist "%VSWHERE%" ( + for /f "usebackq delims=" %%i in ( + `"%VSWHERE%" -products * -latest -property installationPath` + ) do ( + set "VCVARSALL=%%i\VC\Auxiliary\Build\vcvarsall.bat" + ) +) + +if not exist "%VCVARSALL%" ( + set "VCVARSALL=%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" +) +call "%VCVARSALL%" x64 + +goto %target% +echo Unknown build target. +exit 1 + +:: ---------------------------------------------------------------------------- +:install +@echo on +if not exist downloads mkdir downloads + +:: Python 3 +if not exist %PYTHON3_DIR% ( + call :downloadfile %PYTHON3_URL% downloads\python3.exe + cmd /c start /wait downloads\python3.exe /quiet TargetDir=%PYTHON3_DIR% ^ + Include_pip=0 Include_tcltk=0 Include_test=0 Include_tools=0 ^ + AssociateFiles=0 Shortcuts=0 Include_doc=0 Include_launcher=0 ^ + InstallLauncherAllUsers=0 +) +@echo off +goto :eof + +:: ---------------------------------------------------------------------------- +:build + +cd src + +echo "Building MSVC 64bit console Version" +nmake -f Make_mvc.mak CPU=AMD64 ^ + OLE=no GUI=no IME=yes ICONV=yes DEBUG=no ^ + FEATURES=%FEATURE% +if not exist vim.exe ( + echo Build failure. + exit 1 +) + +:: build MSVC huge version with python and channel support +:: GUI needs to be last, so that testing works +echo "Building MSVC 64bit GUI Version" +if "%FEATURE%" == "HUGE" ( + nmake -f Make_mvc.mak CPU=AMD64 ^ + OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no POSTSCRIPT=yes ^ + PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27-x64 ^ + PYTHON3_VER=%PYTHON3_VER% DYNAMIC_PYTHON3=yes PYTHON3=%PYTHON3_DIR% ^ + FEATURES=%FEATURE% +) ELSE ( + nmake -f Make_mvc.mak CPU=AMD64 ^ + OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no ^ + FEATURES=%FEATURE% +) +if not exist gvim.exe ( + echo Build failure. + exit 1 +) +.\gvim -u NONE -c "redir @a | ver |0put a | wq" ver_msvc.txt || exit 1 + +echo "version output MSVC console" +.\vim --version || exit 1 +echo "version output MSVC GUI" +type ver_msvc.txt || exit 1 + +goto :eof + +:: ---------------------------------------------------------------------------- +:test +@echo on +cd src/testdir +:: Testing with MSVC gvim +path %PYTHON3_DIR%;%PATH% +nmake -f Make_mvc.mak VIMPROG=..\gvim +nmake -f Make_mvc.mak clean +:: Testing with MSVC console version +nmake -f Make_mvc.mak VIMPROG=..\vim + +@echo off +goto :eof + +:: ---------------------------------------------------------------------------- +:downloadfile +:: call :downloadfile <URL> <localfile> +if not exist %2 ( + curl -f -L %1 -o %2 +) +if ERRORLEVEL 1 ( + rem Retry once. + curl -f -L %1 -o %2 || exit 1 +) +@goto :eof |