MinGW Appveyor builds
- Build for MinGW x86/x86_64. Move build scripts out of the yml file into separate batch files. - The MinGW builds use MSYS to get runtime dependencies, but they do not link against the POSIX adaptation layer. - For now only build the nvim.exe binary, but not the helptags.
This commit is contained in:
parent
55682710a9
commit
f53c8258be
|
@ -0,0 +1,24 @@
|
||||||
|
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
|
||||||
|
:: FIXME(equalsraf): for now just build nvim and copy DLLs.
|
||||||
|
:: We can't generate the helptags just yet (#810 fixes this)
|
||||||
|
mingw32-make nvim_dll_deps VERBOSE=1 || goto :error
|
||||||
|
bin\nvim --version || goto :error
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
goto :EOF
|
||||||
|
:error
|
||||||
|
exit /b %errorlevel%
|
|
@ -0,0 +1,27 @@
|
||||||
|
:: These are native MinGW builds, but they use the toolchain inside
|
||||||
|
:: 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" (
|
||||||
|
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%
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
mkdir .deps
|
||||||
|
cd .deps
|
||||||
|
cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release ..\third-party\ || goto :error
|
||||||
|
mingw32-make VERBOSE=1 || goto :error
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
goto :EOF
|
||||||
|
:error
|
||||||
|
exit /b %errorlevel%
|
38
appveyor.yml
38
appveyor.yml
|
@ -1,23 +1,27 @@
|
||||||
version: '{build}'
|
version: '{build}'
|
||||||
skip_tags: true
|
skip_tags: true
|
||||||
os: Windows Server 2012 R2
|
|
||||||
environment:
|
environment:
|
||||||
GYP_MSVS_VERSION: 2015
|
# The default cpack in the PATH is not CMake
|
||||||
|
CPACK: C:\Program Files (x86)\CMake\bin\cpack.exe
|
||||||
matrix:
|
matrix:
|
||||||
- GENERATOR: Visual Studio 14 Win64
|
- TARGET: MINGW_64
|
||||||
DEPS_PATH: deps64
|
BUILD_DEPS_SCRIPT: .ci\msys_build_deps.bat
|
||||||
- GENERATOR: Visual Studio 14
|
BUILD_SCRIPT: .ci\msys_build.bat
|
||||||
DEPS_PATH: deps32
|
- TARGET: MINGW_32
|
||||||
matrix:
|
BUILD_DEPS_SCRIPT: .ci\msys_build_deps.bat
|
||||||
# Allow builds to fail
|
BUILD_SCRIPT: .ci\msys_build.bat
|
||||||
allow_failures:
|
|
||||||
- os: Windows Server 2012 R2
|
|
||||||
install: []
|
install: []
|
||||||
build_script:
|
build_script:
|
||||||
# See http://help.appveyor.com/discussions/problems/539-cloning-gyp-fails
|
- if defined BUILD_DEPS_SCRIPT call %BUILD_DEPS_SCRIPT%
|
||||||
- git config --global url."http://".insteadOf https://
|
- call %BUILD_SCRIPT%
|
||||||
- mkdir %DEPS_PATH%
|
# FIXME(equalsraf): don't generate artifacts until the
|
||||||
- cd %DEPS_PATH%
|
# build script builds the main target, for now pack bin/
|
||||||
- cmake -G "%GENERATOR%" ..\third-party\
|
artifacts:
|
||||||
- cmake --build .
|
- path: build/bin
|
||||||
- cd ..
|
# Build artifacts
|
||||||
|
#- cd build
|
||||||
|
#- '"%CPACK%" -G NSIS -C Release'
|
||||||
|
#- '"%CPACK%" -G ZIP -C Release'
|
||||||
|
#artifacts:
|
||||||
|
#- path: build/Neovim.zip
|
||||||
|
#- path: build/Neovim.exe
|
||||||
|
|
Loading…
Reference in New Issue