Skip to content

Commit 2fc5dde

Browse files
committed
Merge branch 'v03'
2 parents ef81bb7 + 4b1de9e commit 2fc5dde

2 files changed

Lines changed: 137 additions & 107 deletions

File tree

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ sudo apt-get install libsdl2-dev libsdl2-image-dev
3030
- качаем [SDL2-2.0.3-win32-x86.zip](https://www.libsdl.org/release/SDL2-2.0.3-win32-x86.zip) или [SDL2-2.0.3-win32-x64.zip](https://www.libsdl.org/release/SDL2-2.0.3-win32-x64.zip) в зависимости от платформы, распаковываем и кладем либо в директорию, которая находится в PATH, либо рядом с exe который получится после компиляции проекта
3131
- качаем [SDL2_image-devel-2.0.0-mingw.tar.gz](https://www.libsdl.org/projects/SDL_image/release/SDL2_image-devel-2.0.0-mingw.tar.gz), распаковываем, ищем файл SDL2_image-2.0.0\TARGET-w64-mingw32\lib\libSDL2_image.dll.a и копируем его в RUST_PATH\bin\rustlib\TARGET-pc-windows-gnu\lib\
3232
- качаем [SDL2_image-2.0.0-win32-x86.zip](https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.0-win32-x86.zip) или [SDL2_image-2.0.0-win32-x64.zip](https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.0-win32-x64.zip) в зависимости от платформы, распаковываем и кладем либо в директорию, которая находится в PATH, либо рядом с exe который получится после компиляции проекта
33+
- для x86 платформы качаем [gcc-core-4.8.1-4-mingw32-dll.tar.lzma](http://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/gcc-4.8.1-4/gcc-core-4.8.1-4-mingw32-dll.tar.lzma), распоковываем и libgcc_s_dw2-1.dll кладем либо в директорию, которая находится в PATH, либо рядом с exe который получится после компиляции проекта
34+
35+
Готовые сборки:
36+
--
37+
В связи со сложным процессом установки под Windows - можно просто [взять](https://github.com/ReanGD/rust-software-render/releases) готовые сборки для платформ x86 и x64, для каждой версии приложения.
3338

3439
Сборка и запуск
3540
--

appveyor.yml

Lines changed: 132 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -1,108 +1,133 @@
1-
version: '{branch}.{build}'
2-
skip_tags: true
3-
clone_folder: c:\projects\git
4-
environment:
5-
RUST_VERSION: rust-1.3.0
6-
SDL_VERSION: 2.0.3
7-
SDL_IMAGE_VERSION: 2.0.0
8-
matrix:
9-
- TARGET1: x86_64
10-
TARGET2: x64
11-
- TARGET1: i686
12-
TARGET2: x86
13-
install:
14-
- ps: >-
15-
New-Item c:\projects\downloads -type directory
16-
17-
New-Item c:\projects\cargo -type directory
18-
19-
New-Item c:\projects\sdl -type directory
20-
21-
New-Item c:\projects\git\artifacts -type directory
22-
23-
24-
cd c:\projects\downloads
25-
26-
Start-FileDownload "https://static.rust-lang.org/dist/${env:RUST_VERSION}-${env:TARGET1}-pc-windows-gnu.msi"
27-
28-
Start-FileDownload "https://static.rust-lang.org/cargo-dist/cargo-nightly-${env:TARGET1}-pc-windows-gnu.tar.gz"
29-
30-
Start-FileDownload "https://www.libsdl.org/release/SDL2-${env:SDL_VERSION}-win32-${env:TARGET2}.zip"
31-
32-
Start-FileDownload "https://www.libsdl.org/release/SDL2-devel-${env:SDL_VERSION}-mingw.tar.gz"
33-
34-
Start-FileDownload "https://www.libsdl.org/projects/SDL_image/release/SDL2_image-devel-${env:SDL_IMAGE_VERSION}-mingw.tar.gz"
35-
36-
Start-FileDownload "https://www.libsdl.org/projects/SDL_image/release/SDL2_image-${env:SDL_IMAGE_VERSION}-win32-${env:TARGET2}.zip"
37-
38-
39-
Start-Process -FilePath msiexec -ArgumentList /i, ${env:RUST_VERSION}-${env:TARGET1}-pc-windows-gnu.msi, INSTALLDIR="c:\projects\rust", /quiet -Wait
40-
41-
7z x cargo-nightly-${env:TARGET1}-pc-windows-gnu.tar.gz
42-
43-
7z x cargo-nightly-${env:TARGET1}-pc-windows-gnu.tar
44-
45-
7z x SDL2-${env:SDL_VERSION}-win32-${env:TARGET2}.zip
46-
47-
7z x SDL2-devel-${env:SDL_VERSION}-mingw.tar.gz
48-
49-
7z x SDL2-devel-${env:SDL_VERSION}-mingw.tar
50-
51-
7z x SDL2_image-devel-${env:SDL_IMAGE_VERSION}-mingw.tar.gz
52-
53-
7z x SDL2_image-devel-${env:SDL_IMAGE_VERSION}-mingw.tar
54-
55-
7z x SDL2_image-${env:SDL_IMAGE_VERSION}-win32-${env:TARGET2}.zip
56-
57-
58-
Copy-Item cargo-nightly-${env:TARGET1}-pc-windows-gnu\cargo\* c:\projects\cargo\ -recurse
59-
60-
Copy-Item SDL2-${env:SDL_VERSION}\${env:TARGET1}-w64-mingw32\lib\libSDL2.dll.a c:\projects\rust\bin\rustlib\${env:TARGET1}-pc-windows-gnu\lib\
61-
62-
Copy-Item SDL2_image-${env:SDL_IMAGE_VERSION}\${env:TARGET1}-w64-mingw32\lib\libSDL2_image.dll.a c:\projects\rust\bin\rustlib\${env:TARGET1}-pc-windows-gnu\lib\
63-
64-
Copy-Item *.dll c:\projects\sdl\
65-
66-
Copy-Item *.dll c:\projects\git\artifacts\
67-
68-
Copy-Item c:\projects\git\media c:\projects\git\artifacts\ -recurse
69-
70-
71-
$env:Path += ";c:\projects\rust\bin"
72-
73-
$env:Path += ";c:\projects\cargo\bin"
74-
75-
$env:Path += ";c:\projects\sdl"
76-
77-
cd c:\projects\git
78-
79-
80-
rustc -V
81-
82-
cargo -V
83-
build_script:
84-
- ps: >-
85-
cargo build --release -v
86-
87-
Copy-Item target\release\rust-software-render.exe artifacts\
88-
test_script:
89-
- ps: cargo test -v
90-
artifacts:
91-
- path: artifacts
92-
name: artifacts
93-
# http://help.appveyor.com/discussions/problems/3008-artifacts-cant-uploaded-to-github-release-400-bad-request
94-
# deploy:
95-
# - provider: GitHub
96-
# tag: $(APPVEYOR_REPO_BRANCH)-win
97-
# release: $(APPVEYOR_REPO_BRANCH)-$(TARGET2)-win
98-
# description: $(APPVEYOR_REPO_BRANCH)-$(TARGET2) for windows
99-
# auth_token:
100-
# secure: /VxMVHbl3XzhHfFGCCu81O4JPgI42lbTT+n/opdJ7LW8XMsjgW3ztAPLI3u2TBro
101-
# artifact: artifacts.zip
102-
notifications:
103-
- provider: Email
104-
to:
105-
- reangd@yandex.ru
106-
on_build_success: false
107-
on_build_failure: true
1+
version: '{branch}.{build}'
2+
skip_tags: true
3+
clone_folder: c:\projects\git
4+
environment:
5+
token:
6+
secure: /VxMVHbl3XzhHfFGCCu81O4JPgI42lbTT+n/opdJ7LW8XMsjgW3ztAPLI3u2TBro
7+
RUST_VERSION: rust-1.3.0
8+
SDL_VERSION: 2.0.3
9+
SDL_IMAGE_VERSION: 2.0.0
10+
matrix:
11+
- TARGET1: x86_64
12+
TARGET2: x64
13+
- TARGET1: i686
14+
TARGET2: x86
15+
install:
16+
- ps: >-
17+
New-Item c:\projects\downloads -type directory
18+
19+
New-Item c:\projects\cargo -type directory
20+
21+
New-Item c:\projects\sdl -type directory
22+
23+
New-Item c:\projects\git\artifacts -type directory
24+
25+
26+
cd c:\Python27\Scripts\
27+
28+
./easy_install pip
29+
30+
./pip install --disable-pip-version-check --pre github3.py
31+
32+
cd c:\projects\downloads
33+
34+
Start-FileDownload "https://static.rust-lang.org/dist/${env:RUST_VERSION}-${env:TARGET1}-pc-windows-gnu.msi"
35+
36+
Start-FileDownload "https://static.rust-lang.org/cargo-dist/cargo-nightly-${env:TARGET1}-pc-windows-gnu.tar.gz"
37+
38+
Start-FileDownload "https://www.libsdl.org/release/SDL2-${env:SDL_VERSION}-win32-${env:TARGET2}.zip"
39+
40+
Start-FileDownload "https://www.libsdl.org/release/SDL2-devel-${env:SDL_VERSION}-mingw.tar.gz"
41+
42+
Start-FileDownload "https://www.libsdl.org/projects/SDL_image/release/SDL2_image-devel-${env:SDL_IMAGE_VERSION}-mingw.tar.gz"
43+
44+
Start-FileDownload "https://www.libsdl.org/projects/SDL_image/release/SDL2_image-${env:SDL_IMAGE_VERSION}-win32-${env:TARGET2}.zip"
45+
46+
If (${env:TARGET2} -eq "x86") {
47+
Start-FileDownload "http://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/gcc-4.8.1-4/gcc-core-4.8.1-4-mingw32-dll.tar.lzma"
48+
}
49+
50+
51+
Start-Process -FilePath msiexec -ArgumentList /i, ${env:RUST_VERSION}-${env:TARGET1}-pc-windows-gnu.msi, INSTALLDIR="c:\projects\rust", /quiet -Wait
52+
53+
7z x cargo-nightly-${env:TARGET1}-pc-windows-gnu.tar.gz
54+
55+
7z x cargo-nightly-${env:TARGET1}-pc-windows-gnu.tar
56+
57+
7z x SDL2-${env:SDL_VERSION}-win32-${env:TARGET2}.zip
58+
59+
7z x SDL2-devel-${env:SDL_VERSION}-mingw.tar.gz
60+
61+
7z x SDL2-devel-${env:SDL_VERSION}-mingw.tar
62+
63+
7z x SDL2_image-devel-${env:SDL_IMAGE_VERSION}-mingw.tar.gz
64+
65+
7z x SDL2_image-devel-${env:SDL_IMAGE_VERSION}-mingw.tar
66+
67+
7z x SDL2_image-${env:SDL_IMAGE_VERSION}-win32-${env:TARGET2}.zip
68+
69+
If (${env:TARGET2} -eq "x86") {
70+
7z x gcc-core-4.8.1-4-mingw32-dll.tar.lzma
71+
}
72+
73+
If (${env:TARGET2} -eq "x86") {
74+
7z x gcc-core-4.8.1-4-mingw32-dll.tar
75+
}
76+
77+
78+
Copy-Item cargo-nightly-${env:TARGET1}-pc-windows-gnu\cargo\* c:\projects\cargo\ -recurse
79+
80+
Copy-Item SDL2-${env:SDL_VERSION}\${env:TARGET1}-w64-mingw32\lib\libSDL2.dll.a c:\projects\rust\bin\rustlib\${env:TARGET1}-pc-windows-gnu\lib\
81+
82+
Copy-Item SDL2_image-${env:SDL_IMAGE_VERSION}\${env:TARGET1}-w64-mingw32\lib\libSDL2_image.dll.a c:\projects\rust\bin\rustlib\${env:TARGET1}-pc-windows-gnu\lib\
83+
84+
Copy-Item *.dll c:\projects\sdl\
85+
86+
Copy-Item *.dll c:\projects\git\artifacts\
87+
88+
If (${env:TARGET2} -eq "x86") {
89+
Copy-Item bin\libgcc_s_dw2-1.dll c:\projects\git\artifacts\
90+
}
91+
92+
Copy-Item c:\projects\git\media c:\projects\git\artifacts\ -recurse
93+
94+
95+
$env:Path += ";c:\projects\rust\bin"
96+
97+
$env:Path += ";c:\projects\cargo\bin"
98+
99+
$env:Path += ";c:\projects\sdl"
100+
101+
cd c:\projects\git
102+
103+
104+
rustc -V
105+
106+
cargo -V
107+
build_script:
108+
- ps: >-
109+
cargo build --release -v
110+
111+
Copy-Item target\release\rust-software-render.exe artifacts\
112+
test_script:
113+
- ps: cargo test -v
114+
before_deploy:
115+
- ps: python -c"from github3 import login;import os;map(lambda x:x.delete(),[it for it in login(token=os.environ['token']).repository('ReanGD','rust-software-render').releases() if it.tag_name==os.environ['APPVEYOR_REPO_BRANCH']+'-'+os.environ['TARGET2']+'-win'])"
116+
artifacts:
117+
- path: artifacts
118+
name: artifacts
119+
deploy:
120+
- provider: GitHub
121+
tag: $(APPVEYOR_REPO_BRANCH)-$(TARGET2)-win
122+
release: $(APPVEYOR_REPO_BRANCH)-$(TARGET2)-win
123+
description: $(APPVEYOR_REPO_BRANCH)-$(TARGET2) for windows
124+
auth_token:
125+
secure: /VxMVHbl3XzhHfFGCCu81O4JPgI42lbTT+n/opdJ7LW8XMsjgW3ztAPLI3u2TBro
126+
artifact: artifacts.zip
127+
notifications:
128+
- provider: Email
129+
to:
130+
- reangd@yandex.ru
131+
on_build_success: false
132+
on_build_failure: true
108133
on_build_status_changed: false

0 commit comments

Comments
 (0)