mirror of
https://github.com/neovim/neovim.git
synced 2024-12-19 18:55:14 -07:00
build: Refactor appveyor/Windows scripts (#5244)
- Join all msys build scripts into one - Clean up appveyor.yml and generate installer for tagged builds A side effect of the cosmetic changes is that appveyor artifact permalinks are easier to use, e.g. for the latest zip in the master branch https://ci.appveyor.com/api/projects/neovim/neovim/artifacts/build/Neovim.zip?branch=master&job=Configuration%3A%20MINGW_64
This commit is contained in:
parent
48dbb75ff6
commit
eb2d547bd5
@ -2,7 +2,7 @@
|
||||
:: MSYS2, this allows using all the dependencies and tools available
|
||||
:: in MSYS2, but we cannot build inside the MSYS2 shell.
|
||||
echo on
|
||||
if "%TARGET%" == "MINGW_32" (
|
||||
if "%CONFIGURATION%" == "MINGW_32" (
|
||||
set ARCH=i686
|
||||
set BITS=32
|
||||
) else (
|
||||
@ -12,7 +12,10 @@ if "%TARGET%" == "MINGW_32" (
|
||||
:: We cannot have sh.exe in the PATH (MinGW)
|
||||
set PATH=%PATH:C:\Program Files\Git\usr\bin;=%
|
||||
set PATH=C:\msys64\mingw%BITS%\bin;C:\Windows\System32;C:\Windows;%PATH%
|
||||
:: The default cpack in the PATH is not CMake
|
||||
set PATH=C:\Program Files (x86)\CMake\bin\cpack.exe;%PATH%
|
||||
|
||||
:: Build third-party dependencies
|
||||
C:\msys64\usr\bin\bash -lc "pacman --verbose --noconfirm -Su" || goto :error
|
||||
C:\msys64\usr\bin\bash -lc "pacman --verbose --noconfirm --needed -S mingw-w64-%ARCH%-cmake mingw-w64-%ARCH%-perl mingw-w64-%ARCH%-python2 mingw-w64-%ARCH%-diffutils" || goto :error
|
||||
|
||||
@ -22,6 +25,19 @@ cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release ..\third-party\ || goto :e
|
||||
mingw32-make VERBOSE=1 || goto :error
|
||||
cd ..
|
||||
|
||||
:: Build Neovim
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release .. || goto :error
|
||||
mingw32-make VERBOSE=1 || goto :error
|
||||
bin\nvim --version || goto :error
|
||||
cd ..
|
||||
|
||||
:: Build artifacts
|
||||
cd build
|
||||
cpack -G ZIP -C Release
|
||||
if defined APPVEYOR_REPO_TAG_NAME cpack -G NSIS -C Release
|
||||
|
||||
goto :EOF
|
||||
:error
|
||||
exit /b %errorlevel%
|
@ -1,22 +0,0 @@
|
||||
echo on
|
||||
if "%TARGET%" == "MINGW_32" (
|
||||
set ARCH=i686
|
||||
set BITS=32
|
||||
) else (
|
||||
set ARCH=x86_64
|
||||
set BITS=64
|
||||
)
|
||||
:: We cannot have sh.exe in the PATH (MinGW)
|
||||
set PATH=%PATH:C:\Program Files\Git\usr\bin;=%
|
||||
set PATH=C:\msys64\mingw%BITS%\bin;C:\Windows\System32;C:\Windows;%PATH%
|
||||
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release .. || goto :error
|
||||
mingw32-make VERBOSE=1 || goto :error
|
||||
bin\nvim --version || goto :error
|
||||
cd ..
|
||||
|
||||
goto :EOF
|
||||
:error
|
||||
exit /b %errorlevel%
|
22
appveyor.yml
22
appveyor.yml
@ -1,22 +1,10 @@
|
||||
version: '{build}'
|
||||
skip_tags: true
|
||||
environment:
|
||||
# The default cpack in the PATH is not CMake
|
||||
CPACK: C:\Program Files (x86)\CMake\bin\cpack.exe
|
||||
matrix:
|
||||
- TARGET: MINGW_64
|
||||
BUILD_DEPS_SCRIPT: .ci\msys_build_deps.bat
|
||||
BUILD_SCRIPT: .ci\msys_build.bat
|
||||
- TARGET: MINGW_32
|
||||
BUILD_DEPS_SCRIPT: .ci\msys_build_deps.bat
|
||||
BUILD_SCRIPT: .ci\msys_build.bat
|
||||
configuration:
|
||||
- MINGW_64
|
||||
- MINGW_32
|
||||
install: []
|
||||
build_script:
|
||||
- if defined BUILD_DEPS_SCRIPT call %BUILD_DEPS_SCRIPT%
|
||||
- call %BUILD_SCRIPT%
|
||||
# Build artifacts
|
||||
- cd build
|
||||
- '"%CPACK%" -G NSIS -C Release'
|
||||
- '"%CPACK%" -G ZIP -C Release'
|
||||
- call .ci\build.bat
|
||||
artifacts:
|
||||
- path: build/Neovim.zip
|
||||
- path: build/Neovim.exe
|
||||
|
Loading…
Reference in New Issue
Block a user