###################################
# Widelands.org #
# #
# Appveyor build configuration #
###################################
init:
- cmd: "IF \"%PLATFORM%\" == \"x86\" (set MINGWPATH=C:\\msys64\\mingw32\\bin& set MINGWSUFFIX=i686& set MINGWINCLUDE=C:\\msys64\\mingw32\\include) ELSE (set MINGWPATH=C:\\msys64\\mingw64\\bin& set MINGWSUFFIX=x86_64& set MINGWINCLUDE=C:\\msys64\\mingw64\\include)"
install:
# Installing various utilities
# As of 2019-12-06 we have to install 'chocolatey-core.extension' beforehand.
# Otherwise installing 'InnoSetup' will fail.
- choco install -y chocolatey-core.extension
- choco install -y InnoSetup
- cmd: "set PATH=%MINGWPATH%;C:\\msys64\\usr\\bin;C:\\Program Files (x86)\\Inno Setup 5;%PATH%"
- cmd: "set CC=%MINGWPATH%\\gcc.exe"
- cmd: "set CXX=%MINGWPATH%\\g++.exe"
# Update mirrors
- cmd: "bash --login -c \"pacman --noconfirm -Sy pacman pacman-mirrors\""
# deleting broken repo from mirrorlist
# - cmd: "bash --login -c \"sed -i 7d C:/msys64/etc/pacman.d/mirrorlist.msys\""
# - cmd: "bash --login -c \"sed -i 7d C:/msys64/etc/pacman.d/mirrorlist.mingw32\""
# - cmd: "bash --login -c \"sed -i 7d C:/msys64/etc/pacman.d/mirrorlist.mingw64\""
# Update msys2 system (twice, first run does system packages)
- cmd: "bash --login -c \"pacman --nodeps --noconfirm -Syy dash\""
- cmd: "bash --login -c \"pacman -Suuyy --noconfirm\""
# deleting broken repo from mirrorlist again
# - cmd: "bash --login -c \"sed -i 7d C:/msys64/etc/pacman.d/mirrorlist.msys\""
# - cmd: "bash --login -c \"sed -i 7d C:/msys64/etc/pacman.d/mirrorlist.mingw32\""
# - cmd: "bash --login -c \"sed -i 7d C:/msys64/etc/pacman.d/mirrorlist.mingw64\""
- cmd: "bash --login -c \"pacman -Suuyy --noconfirm\""
# Installed required libs
- cmd: "bash --login -c \"pacman --noconfirm -S mingw-w64-%MINGWSUFFIX%-ninja mingw-w64-%MINGWSUFFIX%-boost mingw-w64-%MINGWSUFFIX%-SDL2_ttf mingw-w64-%MINGWSUFFIX%-SDL2_mixer mingw-w64-%MINGWSUFFIX%-SDL2_image mingw-w64-%MINGWSUFFIX%-glbinding\""
shallow_clone: false
branches:
only:
- master
- build-21
build_script:
# copy modified libintl.h to solve an issue with boost
- cmd: patch %MINGWINCLUDE%\libintl.h %APPVEYOR_BUILD_FOLDER%\utils\appveyor\libintl.patch
- cmd: cd %APPVEYOR_BUILD_FOLDER%
- cmd: md build
- cmd: cd build
- cmd: set /p WIDELANDS_VERSION_STRING=<%APPVEYOR_BUILD_FOLDER%\WL_RELEASE
- cmd: "IF \"%PLATFORM%\" == \"x86\" (cmake -G \"Ninja\" -DBoost_NO_BOOST_CMAKE=ON -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DOPTION_USE_GLBINDING=ON -DOPTION_BUILD_WEBSITE_TOOLS=OFF -DOPTION_ASAN=OFF -DOPTION_BUILD_CODECHECK=OFF -DCMAKE_JOB_POOLS=\"linking=1\" -DCMAKE_JOB_POOL_LINK=linking %APPVEYOR_BUILD_FOLDER%) ELSE (cmake -G \"Ninja\" -DBoost_NO_BOOST_CMAKE=ON -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DOPTION_USE_GLBINDING=ON -DOPTION_BUILD_CODECHECK=OFF -DOPTION_BUILD_WEBSITE_TOOLS=OFF -DOPTION_ASAN=OFF -DCMAKE_JOB_POOLS=\"linking=1\" -DCMAKE_JOB_POOL_LINK=linking %APPVEYOR_BUILD_FOLDER%)"
- cmd: "cmake --build ."
on_success:
- cmd: strip -sv %APPVEYOR_BUILD_FOLDER%\build\src\widelands.exe
- cmd: ISCC /q /o%APPVEYOR_BUILD_FOLDER% /fWidelands-Build21-%PLATFORM% c:\projects\widelands\utils\win32\innosetup\Widelands.iss
- appveyor PushArtifact %APPVEYOR_BUILD_FOLDER%\Widelands-Build21-%PLATFORM%.exe
artifacts:
- path: Widelands-Build21-$(PLATFORM).exe
name: Widelands Setup
platform:
- x64
- x86
configuration:
- Release