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

Subscribers

People subscribed via source and target branches

to status/vote changes: