Merge lp:~widelands-dev/widelands/appveyor into lp:widelands

Proposed by Tino
Status: Merged
Merged at revision: 7693
Proposed branch: lp:~widelands-dev/widelands/appveyor
Merge into: lp:widelands
Diff against target: 159 lines (+85/-15)
4 files modified
CMakeLists.txt (+5/-1)
appveyor.yml (+34/-0)
utils/detect_revision.py (+5/-1)
utils/win32/innosetup/Widelands.iss (+41/-13)
To merge this branch: bzr merge lp:~widelands-dev/widelands/appveyor
Reviewer Review Type Date Requested Status
Tino Approve
Review via email: mp+281599@code.launchpad.net

Description of the change

Provide a build script for appveyor, the "travis ci" for windows.
Currently a release build is done and a complete inno setup created.

Includes 2 fixes for windows:
- enable static linking glew32 with cmake option on windows
- allow git revision detection in windows (does work on my machine, but atm not an appveyor)

To post a comment you must log in.
Revision history for this message
bunnybot (widelandsofficial) wrote :

Bunnybot encountered an error while working on this merge proposal:

Running 'bzr branch lp:~widelands-dev/widelands/appveyor data/bzr_repo/_widelands_dev_widelands_appveyor' failed. Output:

bzr: ERROR: Not a branch: "bzr+ssh://bazaar.launchpad.net/~widelands-dev/widelands/appveyor data/bzr_repo/_widelands_dev_widelands_appveyor/".

Revision history for this message
bunnybot (widelandsofficial) wrote :

Bunnybot encountered an error while working on this merge proposal:

Running 'bzr branch lp:~widelands-dev/widelands/appveyor data/bzr_repo/_widelands_dev_widelands_appveyor' failed. Output:

bzr: ERROR: Not a branch: "bzr+ssh://bazaar.launchpad.net/~widelands-dev/widelands/appveyor data/bzr_repo/_widelands_dev_widelands_appveyor/".

Revision history for this message
Tino (tino79) wrote :

Ok, no static linking at all for now.

Locally i am able to do a complete static widelands.exe, will have to figure this out for appveyor later.

Revision history for this message
bunnybot (widelandsofficial) wrote :

Hi, I am bunnybot (https://github.com/widelands/bunnybot).

I am keeping the source branch lp:~widelands-dev/widelands/appveyor mirrored to https://github.com/widelands/widelands/tree/_widelands_dev_widelands_appveyor

You can give me commands by starting a line with @bunnybot <command>. I understand:
 merge: Merges the source branch into the target branch, closing the merge proposal. I will use the proposed commit message if it is set.

Revision history for this message
bunnybot (widelandsofficial) wrote :

Travis build 189 has changed state to: passed. Details: https://travis-ci.org/widelands/widelands/builds/100349812.

Revision history for this message
bunnybot (widelandsofficial) wrote :

Travis build 199 has changed state to: canceled. Details: https://travis-ci.org/widelands/widelands/builds/100526748.

Revision history for this message
Tino (tino79) wrote :

Ok, it works now including building a windows setup.
I am going to merge because there are no changes to other than windows related things.

@bunnybot merge

review: Approve
Revision history for this message
bunnybot (widelandsofficial) wrote :

Travis build 211 has changed state to: passed. Details: https://travis-ci.org/widelands/widelands/builds/100647751.

Revision history for this message
SirVer (sirver) wrote :

Great achievement. Is there an API so that bunnybot can check for the appveyor build state too? (I can search for it myself, but maybe you already know where it is). One inline comment with food for thought.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'CMakeLists.txt'
--- CMakeLists.txt 2016-01-04 20:58:32 +0000
+++ CMakeLists.txt 2016-01-06 18:28:17 +0000
@@ -31,7 +31,11 @@
3131
32SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules)32SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules)
3333
34set (Boost_USE_STATIC_LIBS OFF)34if (WIN32)
35 set (Boost_USE_STATIC_LIBS ON)
36else()
37 set (Boost_USE_STATIC_LIBS OFF)
38endif()
35set (Boost_USE_MULTITHREADED ON)39set (Boost_USE_MULTITHREADED ON)
36set (Boost_DETAILED_FAILURE_MSG ON)40set (Boost_DETAILED_FAILURE_MSG ON)
37find_package(Boost 1.4841find_package(Boost 1.48
3842
=== added file 'appveyor.yml'
--- appveyor.yml 1970-01-01 00:00:00 +0000
+++ appveyor.yml 2016-01-06 18:28:17 +0000
@@ -0,0 +1,34 @@
1install:
2 # Installing various utilities
3 - choco install -y InnoSetup
4 - set PATH=C:\msys64\mingw64\bin;C:\msys64\usr\bin;"C:\Program Files (x86)\Inno Setup 5";%PATH%
5 # Update complete msys2 distribution
6 # fails most of the time due slow data transfer
7 #- cmd: "bash --login -c \"update-core\""
8 #- cmd: "bash --login -c \"pacman -Syu --noconfirm\""
9 - cmd: "bash --login -c \"pacman --noconfirm -S mingw-w64-x86_64-ninja mingw-w64-x86_64-boost mingw-w64-x86_64-SDL2_net mingw-w64-x86_64-SDL2_ttf mingw-w64-x86_64-SDL2_mixer mingw-w64-x86_64-SDL2_image mingw-w64-x86_64-glew\""
10 # Hack, there are wrong dependencies atm in the msys2 packages (SDL_image, libwebp)
11 #- cmd: copy c:\msys64\mingw64\bin\libwebp-6.dll c:\msys64\mingw64\bin\libwebp-5.dll
12
13shallow_clone: true
14
15build:
16 verbosity: detailed
17
18build_script:
19 - cmd: cd c:\projects
20 - cmd: md build
21 - cmd: cd build
22 - cmd: echo %APPVEYOR_BUILD_VERSION% > c:\projects\widelands\WL_RELEASE
23 - cmd: cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release ..\widelands
24 - cmd: ninja
25 - cmd: strip -sv src\widelands.exe
26 - cmd: ISCC /q /fWidelands-%APPVEYOR_BUILD_VERSION%-win64 ..\widelands\utils\win32\innosetup\Widelands.iss
27 - appveyor PushArtifact c:\projects\Widelands-%APPVEYOR_BUILD_VERSION%-win64.exe
28
29artifacts:
30 - path: Widelands-$(APPVEYOR_BUILD_VERSION)-win64.exe
31 name: Widelands Setup
32
33platform:
34 - x64
035
=== modified file 'utils/detect_revision.py'
--- utils/detect_revision.py 2015-07-23 10:46:52 +0000
+++ utils/detect_revision.py 2016-01-06 18:28:17 +0000
@@ -44,7 +44,11 @@
44def detect_git_revision():44def detect_git_revision():
45 if not sys.platform.startswith('linux') and \45 if not sys.platform.startswith('linux') and \
46 not sys.platform.startswith('darwin'):46 not sys.platform.startswith('darwin'):
47 return None47 git_revnum=os.popen('git show --pretty=format:%h | head -n 1').read().rstrip()
48 if git_revnum:
49 return 'unofficial-git-%s' % (git_revnum,)
50 else:
51 return None
4852
49 is_git_workdir=os.system('git show >/dev/null 2>&1')==053 is_git_workdir=os.system('git show >/dev/null 2>&1')==0
50 if is_git_workdir:54 if is_git_workdir:
5155
=== modified file 'utils/win32/innosetup/Widelands.iss'
--- utils/win32/innosetup/Widelands.iss 2015-03-01 09:21:20 +0000
+++ utils/win32/innosetup/Widelands.iss 2016-01-06 18:28:17 +0000
@@ -22,10 +22,10 @@
2222
23;Version String23;Version String
24#define Name "Widelands"24#define Name "Widelands"
25#define VerName "Widelands Build18"25#define VerName "Widelands Build19"
26#define VerNumber "0.18.0.1"26#define VerNumber "0.19.0.1"
27#define Copyright "Widelands Development Team 2001-2015"27#define Copyright "Widelands Development Team 2001-2015"
28#define SetupFileName "Widelands-Build18-win32"28#define SetupFileName "Widelands-Build19-win64"
2929
30;General String30;General String
31#define Publisher "Widelands Development Team"31#define Publisher "Widelands Development Team"
@@ -75,8 +75,6 @@
75Name: french; MessagesFile: compiler:Languages\French.isl75Name: french; MessagesFile: compiler:Languages\French.isl
76Name: german; MessagesFile: compiler:Languages\German.isl76Name: german; MessagesFile: compiler:Languages\German.isl
77Name: polish; MessagesFile: compiler:Languages\Polish.isl77Name: polish; MessagesFile: compiler:Languages\Polish.isl
78Name: swedish; MessagesFile: compiler:Languages\Swedish.isl
79Name: slovak; MessagesFile: compiler:Languages\Slovak.isl
80Name: russian; MessagesFile: compiler:Languages\Russian.isl78Name: russian; MessagesFile: compiler:Languages\Russian.isl
81Name: hungarian; MessagesFile: compiler:Languages\Hungarian.isl79Name: hungarian; MessagesFile: compiler:Languages\Hungarian.isl
82Name: dutch; MessagesFile: compiler:Languages\Dutch.isl80Name: dutch; MessagesFile: compiler:Languages\Dutch.isl
@@ -92,7 +90,7 @@
92[Files]90[Files]
93Source: ..\..\..\campaigns\*; DestDir: {app}\campaigns\; Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: " Widelands"91Source: ..\..\..\campaigns\*; DestDir: {app}\campaigns\; Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: " Widelands"
94Source: ..\..\..\i18n\*; DestDir: {app}\i18n\; Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: " Widelands"92Source: ..\..\..\i18n\*; DestDir: {app}\i18n\; Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: " Widelands"
95Source: ..\..\..\locale\*; DestDir: {app}\locale\; Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: " Widelands"93Source: ..\..\..\..\build\locale\*; DestDir: {app}\locale\; Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: " Widelands"
96Source: ..\..\..\maps\*; DestDir: {app}\maps\; Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Components: " Maps"94Source: ..\..\..\maps\*; DestDir: {app}\maps\; Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Components: " Maps"
97Source: ..\..\..\music\*; DestDir: {app}\music\; Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Components: " Music"95Source: ..\..\..\music\*; DestDir: {app}\music\; Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Components: " Music"
98Source: ..\..\..\pics\*; DestDir: {app}\pics\; Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: " Widelands"96Source: ..\..\..\pics\*; DestDir: {app}\pics\; Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: " Widelands"
@@ -100,13 +98,43 @@
100Source: ..\..\..\tribes\*; DestDir: {app}\tribes\; Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: " Widelands"98Source: ..\..\..\tribes\*; DestDir: {app}\tribes\; Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: " Widelands"
101Source: ..\..\..\txts\*; DestDir: {app}\txts\; Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: " Widelands"99Source: ..\..\..\txts\*; DestDir: {app}\txts\; Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: " Widelands"
102Source: ..\..\..\world\*; DestDir: {app}\world\; Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: " Widelands"100Source: ..\..\..\world\*; DestDir: {app}\world\; Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: " Widelands"
103Source: ..\..\..\global\*; DestDir: {app}\global\; Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: " Widelands"101Source: c:\msys64\mingw64\bin\glew32.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
104Source: ..\..\..\*.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"102Source: c:\msys64\mingw64\bin\libicuuc55.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
105Source: ..\..\..\widelands.exe; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"103Source: c:\msys64\mingw64\bin\libbz2-1.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
106Source: ..\..\..\ChangeLog; DestDir: {app}; Flags: ignoreversion; DestName: ChangeLog.txt; Components: " Widelands"104Source: c:\msys64\mingw64\bin\libfreetype-6.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
107Source: ..\..\..\COPYING; DestDir: {app}; Flags: ignoreversion; DestName: COPYING.txt; Components: " Widelands"105Source: c:\msys64\mingw64\bin\libgcc_s_seh-1.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
108Source: ..\..\..\CREDITS; DestDir: {app}; Flags: ignoreversion; DestName: CREDITS.txt; Components: " Widelands"106Source: c:\msys64\mingw64\bin\libglib-2.0-0.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
109Source: .\WL-Editor.ico; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"107Source: c:\msys64\mingw64\bin\libharfbuzz-0.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
108Source: c:\msys64\mingw64\bin\libicudt55.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
109Source: c:\msys64\mingw64\bin\libjpeg-8.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
110Source: c:\msys64\mingw64\bin\liblzma-5.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
111Source: c:\msys64\mingw64\bin\libogg-0.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
112Source: c:\msys64\mingw64\bin\libpng16-16.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
113Source: c:\msys64\mingw64\bin\libstdc++-6.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
114Source: c:\msys64\mingw64\bin\libtiff-5.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
115Source: c:\msys64\mingw64\bin\libvorbis-0.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
116Source: c:\msys64\mingw64\bin\libvorbisfile-3.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
117Source: c:\msys64\mingw64\bin\libwebp-5.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
118Source: c:\msys64\mingw64\bin\libwinpthread-1.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
119Source: c:\msys64\mingw64\bin\SDL2.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
120Source: c:\msys64\mingw64\bin\SDL2_image.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
121Source: c:\msys64\mingw64\bin\SDL2_mixer.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
122Source: c:\msys64\mingw64\bin\SDL2_net.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
123Source: c:\msys64\mingw64\bin\SDL2_ttf.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
124Source: c:\msys64\mingw64\bin\zlib1.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
125Source: c:\msys64\mingw64\bin\libFLAC-8.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
126Source: c:\msys64\mingw64\bin\libfluidsynth-1.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
127Source: c:\msys64\mingw64\bin\libportaudio-2.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
128Source: c:\msys64\mingw64\bin\libsndfile-1.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
129Source: c:\msys64\mingw64\bin\libspeex-1.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
130Source: c:\msys64\mingw64\bin\libvorbisenc-2.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
131Source: c:\msys64\mingw64\bin\libmodplug-1.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
132Source: c:\msys64\mingw64\bin\smpeg2.dll; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
133Source: ..\..\..\..\build\src\widelands.exe; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
134Source: ..\..\..\ChangeLog; DestDir: {app}; Flags: ignoreversion; DestName: ChangeLog.txt; Components: " Widelands"
135Source: ..\..\..\COPYING; DestDir: {app}; Flags: ignoreversion; DestName: COPYING.txt; Components: " Widelands"
136Source: ..\..\..\CREDITS; DestDir: {app}; Flags: ignoreversion; DestName: CREDITS.txt; Components: " Widelands"
137Source: .\WL-Editor.ico; DestDir: {app}; Flags: ignoreversion; Components: " Widelands"
110138
111[INI]139[INI]
112Filename: {app}\{#UrlName}; Section: InternetShortcut; Key: URL; String: {#URL}140Filename: {app}\{#UrlName}; Section: InternetShortcut; Key: URL; String: {#URL}

Subscribers

People subscribed via source and target branches

to status/vote changes: