mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 09:44:31 +00: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:
		
				
					committed by
					
						
						Justin M. Keyes
					
				
			
			
				
	
			
			
			
						parent
						
							48dbb75ff6
						
					
				
				
					commit
					eb2d547bd5
				
			@@ -2,7 +2,7 @@
 | 
				
			|||||||
:: MSYS2, this allows using all the dependencies and tools available
 | 
					:: MSYS2, this allows using all the dependencies and tools available
 | 
				
			||||||
:: in MSYS2, but we cannot build inside the MSYS2 shell.
 | 
					:: in MSYS2, but we cannot build inside the MSYS2 shell.
 | 
				
			||||||
echo on
 | 
					echo on
 | 
				
			||||||
if "%TARGET%" == "MINGW_32" (
 | 
					if "%CONFIGURATION%" == "MINGW_32" (
 | 
				
			||||||
	set ARCH=i686
 | 
						set ARCH=i686
 | 
				
			||||||
	set BITS=32
 | 
						set BITS=32
 | 
				
			||||||
) else (
 | 
					) else (
 | 
				
			||||||
@@ -12,7 +12,10 @@ if "%TARGET%" == "MINGW_32" (
 | 
				
			|||||||
:: We cannot have sh.exe in the PATH (MinGW)
 | 
					:: We cannot have sh.exe in the PATH (MinGW)
 | 
				
			||||||
set PATH=%PATH:C:\Program Files\Git\usr\bin;=%
 | 
					set PATH=%PATH:C:\Program Files\Git\usr\bin;=%
 | 
				
			||||||
set PATH=C:\msys64\mingw%BITS%\bin;C:\Windows\System32;C:\Windows;%PATH%
 | 
					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 -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
 | 
					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
 | 
					mingw32-make VERBOSE=1 || goto :error
 | 
				
			||||||
cd ..
 | 
					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
 | 
					goto :EOF
 | 
				
			||||||
:error
 | 
					:error
 | 
				
			||||||
exit /b %errorlevel%
 | 
					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}'
 | 
					version: '{build}'
 | 
				
			||||||
skip_tags: true
 | 
					configuration:
 | 
				
			||||||
environment:
 | 
					- MINGW_64
 | 
				
			||||||
  # The default cpack in the PATH is not CMake
 | 
					- MINGW_32
 | 
				
			||||||
  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
 | 
					 | 
				
			||||||
install: []
 | 
					install: []
 | 
				
			||||||
build_script:
 | 
					build_script:
 | 
				
			||||||
- if defined BUILD_DEPS_SCRIPT call %BUILD_DEPS_SCRIPT%
 | 
					- call .ci\build.bat
 | 
				
			||||||
- call %BUILD_SCRIPT%
 | 
					 | 
				
			||||||
# Build artifacts
 | 
					 | 
				
			||||||
- cd build
 | 
					 | 
				
			||||||
- '"%CPACK%" -G NSIS -C Release'
 | 
					 | 
				
			||||||
- '"%CPACK%" -G ZIP -C Release'
 | 
					 | 
				
			||||||
artifacts:
 | 
					artifacts:
 | 
				
			||||||
- path: build/Neovim.zip
 | 
					- path: build/Neovim.zip
 | 
				
			||||||
 | 
					- path: build/Neovim.exe
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user