~widelands-dev/widelands/trunk

7782.1.1 by Tino
appveyor build matrix for debug,release, i686 and x64 builds
1
###################################
2
#   Widelands.org                 #
3
#                                 #
4
#   Appveyor build configuration  #
5
###################################
6
9559 by The Widelands Bunnybot
Using Visual Studio 2019 on appveyor
7
image: Visual Studio 2019
8
7782.1.1 by Tino
appveyor build matrix for debug,release, i686 and x64 builds
9
init:
9685 by The Widelands Bunnybot
Fix curl on AppVeyor (#4538)
10
  - cmd: "IF \"%PLATFORM%\" == \"x86\" (set MINGWPATH=C:\\msys64\\mingw32\\bin& set MINGWSUFFIX=i686& set MINGWINCLUDE=C:\\msys64\\mingw32\\include& set BITS=32) ELSE (set MINGWPATH=C:\\msys64\\mingw64\\bin& set MINGWSUFFIX=x86_64& set MINGWINCLUDE=C:\\msys64\\mingw64\\include& set BITS=64)"
7782.1.1 by Tino
appveyor build matrix for debug,release, i686 and x64 builds
11
7688.1.2 by Tino
unix line endings
12
install:
13
  # Installing various utilities
9204 by The Widelands Bunnybot
Noordfrees: Launchpad mirror (#3766)\n\nMirrors all changes at widelands:master to lp:widelands (1d6b62c7619a182081e1c942ae533a95d6112044)
14
  # As of 2019-12-06 we have to install 'chocolatey-core.extension' beforehand.
15
  # Otherwise installing 'InnoSetup' will fail.
16
  - choco install -y chocolatey-core.extension
7688.1.2 by Tino
unix line endings
17
  - choco install -y InnoSetup
7782.1.1 by Tino
appveyor build matrix for debug,release, i686 and x64 builds
18
  - cmd: "set PATH=%MINGWPATH%;C:\\msys64\\usr\\bin;C:\\Program Files (x86)\\Inno Setup 5;%PATH%"
7806 by Tino
set gcc path explicitely
19
  - cmd: "set CC=%MINGWPATH%\\gcc.exe"
7807 by Tino
fix c++ compiler
20
  - cmd: "set CXX=%MINGWPATH%\\g++.exe"
9558 by The Widelands Bunnybot
still a typo
21
  # deleting broken repo from mirrorlist
9562 by The Widelands Bunnybot
Appveyor can use MSYS2 Repo again
22
  # - cmd: "bash --login -c \"sed -i 7,8d C:/msys64/etc/pacman.d/mirrorlist.msys\""
23
  # - cmd: "bash --login -c \"sed -i 7,8d C:/msys64/etc/pacman.d/mirrorlist.mingw32\""
24
  # - cmd: "bash --login -c \"sed -i 7,8d C:/msys64/etc/pacman.d/mirrorlist.mingw64\""
7983 by Tino
Adapt to appveyor updates, no custom msys2 update script required any longer
25
  # Update msys2 system (twice, first run does system packages)
8937.1.1 by tino79
Use glbinding on Appveyor again, pre-built package was updated: https://github.com/Alexpux/MINGW-packages/issues/4671
26
  - cmd: "bash --login -c \"pacman -Suuyy --noconfirm\""
9204 by The Widelands Bunnybot
Noordfrees: Launchpad mirror (#3766)\n\nMirrors all changes at widelands:master to lp:widelands (1d6b62c7619a182081e1c942ae533a95d6112044)
27
  # deleting broken repo from mirrorlist again
9562 by The Widelands Bunnybot
Appveyor can use MSYS2 Repo again
28
  # - cmd: "bash --login -c \"sed -i 7,8d C:/msys64/etc/pacman.d/mirrorlist.msys\""
29
  # - cmd: "bash --login -c \"sed -i 7,8d C:/msys64/etc/pacman.d/mirrorlist.mingw32\""
30
  # - cmd: "bash --login -c \"sed -i 7,8d C:/msys64/etc/pacman.d/mirrorlist.mingw64\""
9341 by The Widelands Bunnybot
Appveyor fix (#3951)
31
  - cmd: "bash --login -c \"pacman -Suuyy --noconfirm\""
7782.1.1 by Tino
appveyor build matrix for debug,release, i686 and x64 builds
32
  # Installed required libs
10115 by The Widelands Bunnybot
Replace Boost::Asio → Asio (#5164)
33
  - cmd: "bash --login -c \"pacman --noconfirm -S mingw-w64-%MINGWSUFFIX%-ninja mingw-w64-%MINGWSUFFIX%-asio mingw-w64-%MINGWSUFFIX%-icu mingw-w64-%MINGWSUFFIX%-SDL2_ttf mingw-w64-%MINGWSUFFIX%-SDL2_mixer mingw-w64-%MINGWSUFFIX%-SDL2_image mingw-w64-%MINGWSUFFIX%-glew\""
9984 by The Widelands Bunnybot
MSYS Quickfix (#5023)
34
  - cmd: "bash --login -c \"pacman --noconfirm -U https://repo.msys2.org/mingw/%MINGWSUFFIX%/mingw-w64-%MINGWSUFFIX%-libtiff-4.3.0-3-any.pkg.tar.zst\""
8982.1.4 by hessenfarmer
new attempt moved the copy command to the build instructions as we need our cloned repo first
35
9336 by The Widelands Bunnybot
Use detect_revision.py on AppVeyor (#3944)
36
shallow_clone: false
7688.1.2 by Tino
unix line endings
37
7743 by Tino
bunnybot mirrors trunk into to branches, build only master
38
branches:
9204 by The Widelands Bunnybot
Noordfrees: Launchpad mirror (#3766)\n\nMirrors all changes at widelands:master to lp:widelands (1d6b62c7619a182081e1c942ae533a95d6112044)
39
  only:
40
    - master
7743 by Tino
bunnybot mirrors trunk into to branches, build only master
41
10097 by The Widelands Bunnybot
attempt to prevent appveyor building tag latest
42
skip_tags: true
43
44
7688.1.2 by Tino
unix line endings
45
build_script:
7782.1.1 by Tino
appveyor build matrix for debug,release, i686 and x64 builds
46
  - cmd: cd %APPVEYOR_BUILD_FOLDER%
7688.1.2 by Tino
unix line endings
47
  - cmd: md build
48
  - cmd: cd build
9468 by The Widelands Bunnybot
Build a static linked executable with msys2 (Appveyor&Github Workflow) (#3982)
49
  # detect revision
9336 by The Widelands Bunnybot
Use detect_revision.py on AppVeyor (#3944)
50
  - cmd: python %APPVEYOR_BUILD_FOLDER%\utils\detect_revision.py > %APPVEYOR_BUILD_FOLDER%\WL_RELEASE
51
  - cmd: set /p WIDELANDS_VERSION_STRING=<%APPVEYOR_BUILD_FOLDER%\WL_RELEASE
10115 by The Widelands Bunnybot
Replace Boost::Asio → Asio (#5164)
52
  - cmd: "cmake -G \"Ninja\" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DOPTION_BUILD_WINSTATIC=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%"
8841.1.1 by tino79
use GCE environment on Appveyor and limit linking to only one pool
53
  - cmd: "cmake --build ."
7782.1.1 by Tino
appveyor build matrix for debug,release, i686 and x64 builds
54
on_success:
55
  - cmd: strip -sv %APPVEYOR_BUILD_FOLDER%\build\src\widelands.exe
9336 by The Widelands Bunnybot
Use detect_revision.py on AppVeyor (#3944)
56
  - cmd: ISCC /q /o%APPVEYOR_BUILD_FOLDER% /fWidelands-%CONFIGURATION%-%PLATFORM%-%WIDELANDS_VERSION_STRING% c:\projects\widelands\utils\win32\innosetup\Widelands.iss
57
  - appveyor PushArtifact %APPVEYOR_BUILD_FOLDER%\Widelands-%CONFIGURATION%-%PLATFORM%-%WIDELANDS_VERSION_STRING%.exe
8496.1.1 by GunChleoc
Added compile options for AddressSanitizer and for choosing the compiler. 2 new warning flags for the clang compiler.
58
7688.1.2 by Tino
unix line endings
59
artifacts:
9336 by The Widelands Bunnybot
Use detect_revision.py on AppVeyor (#3944)
60
  - path: Widelands-$(CONFIGURATION)-$(PLATFORM)-$(WIDELANDS_VERSION_STRING).exe
7688.1.2 by Tino
unix line endings
61
    name: Widelands Setup
62
8496.1.1 by GunChleoc
Added compile options for AddressSanitizer and for choosing the compiler. 2 new warning flags for the clang compiler.
63
platform:
9436 by The Widelands Bunnybot
Move 32-bit MS-Windows integration for PRs to the action (#4098)
64
  - x64
8982.1.1 by hessenfarmer
fix appveyor boost 1.69 and x86 builds by providing modified libintl.h
65
  - x86
7782.1.1 by Tino
appveyor build matrix for debug,release, i686 and x64 builds
66
67
configuration:
68
  - Release
8496.1.1 by GunChleoc
Added compile options for AddressSanitizer and for choosing the compiler. 2 new warning flags for the clang compiler.
69
  - Debug