Add release for linux using AppImage
Thanks for the AppImage solution, now the linux binary is provided, however 64bit only at current stage. Special thanks to @linuxsocistmaster
parent
aeca656c76
commit
b4fb23a1df
66
.travis.yml
66
.travis.yml
|
@ -1,33 +1,73 @@
|
||||||
# Reference: https://andrewdolby.com/articles/2016/continuous-deployment-for-qt-applications/
|
# Reference: https://andrewdolby.com/articles/2016/continuous-deployment-for-qt-applications/
|
||||||
|
notifications:
|
||||||
|
email: false
|
||||||
|
|
||||||
os: osx
|
os: osx
|
||||||
|
|
||||||
language: cpp
|
language: cpp
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
fast_finish: true
|
|
||||||
include:
|
include:
|
||||||
|
- os: linux
|
||||||
|
dist: trusty
|
||||||
|
sudo: required
|
||||||
|
compiler: gcc
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources:
|
||||||
|
- ubuntu-toolchain-r-test
|
||||||
|
packages:
|
||||||
|
- gcc-4.9
|
||||||
|
- g++-4.9
|
||||||
- os: osx
|
- os: osx
|
||||||
compiler: clang
|
compiler: clang
|
||||||
osx_image: xcode8
|
osx_image: xcode8
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- brew update
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi
|
||||||
- brew reinstall cgal
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew reinstall cgal; fi
|
||||||
- brew reinstall qt5
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo add-apt-repository --yes ppa:beineri/opt-qt591-trusty; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get update; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install gcc-4.9 g++-4.9; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install libcgal-dev; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt install cmake; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then wget https://github.com/CGAL/cgal/releases/download/releases/CGAL-4.11.1/CGAL-4.11.1.zip; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then unzip CGAL-4.11.1.zip; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cd CGAL-4.11.1; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then mkdir build; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cd build; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cmake ../; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then make; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo make install; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cd ../../; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew reinstall qt5; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install qt59base qt59tools --force-yes; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then source /opt/qt59/bin/qt59-env.sh; fi
|
||||||
- wget -O installrust.sh https://sh.rustup.rs
|
- wget -O installrust.sh https://sh.rustup.rs
|
||||||
- sh installrust.sh -y
|
- sh installrust.sh -y
|
||||||
- export PATH="$HOME/.cargo/bin:/usr/local/opt/qt/bin:$(brew --prefix)/bin:$PATH"
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export PATH="$HOME/.cargo/bin:/usr/local/opt/qt/bin:$(brew --prefix)/bin:$PATH"; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export PATH="~/.cargo/bin:$PATH"; fi
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- git clone https://github.com/huxingyi/meshlite.git
|
- git clone https://github.com/huxingyi/meshlite.git || travis_terminate 1
|
||||||
- cd meshlite
|
- cd meshlite
|
||||||
- cargo build --release
|
- cargo build --release
|
||||||
- cd ../
|
- cd ../
|
||||||
- cp meshlite/include/meshlite.h thirdparty/meshlite/meshlite.h
|
- cp meshlite/include/meshlite.h thirdparty/meshlite/meshlite.h || travis_terminate 1
|
||||||
- cp meshlite/target/release/libmeshlite.dylib thirdparty/meshlite/libmeshlite.dylib
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cp meshlite/target/release/libmeshlite.dylib thirdparty/meshlite/libmeshlite.dylib || travis_terminate 1; fi
|
||||||
- qmake -config release
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cp meshlite/target/release/libmeshlite.so thirdparty/meshlite/libmeshlite.so || travis_terminate 1; fi
|
||||||
- make
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then qmake -config release || travis_terminate 1; fi
|
||||||
- mv dust3d.app dust3d_unstable.app
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then qmake -config release || travis_terminate 1; fi
|
||||||
- macdeployqt dust3d_unstable.app -dmg
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then make || travis_terminate 1; fi
|
||||||
- sh ci/upload-github-release-asset.sh github_api_token=${my_auth_token} branch=$TRAVIS_BRANCH owner=huxingyi repo=dust3d tag=unstable filename=dust3d_unstable.dmg
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then make CXX="g++-4.9 -fext-numeric-literals" || travis_terminate 1; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/thirdparty/meshlite || travis_terminate 1; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then mv dust3d.app dust3d_unstable.app || travis_terminate 1; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then mkdir dust3d_unstable || travis_terminate 1; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then mv ./dust3d dust3d_unstable/dust3d_unstable || travis_terminate 1;fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then mv ./ci/icon.png dust3d_unstable/icon.png || travis_terminate 1;fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then mv ./ci/dust3d.desktop dust3d_unstable/dust3d.desktop || travis_terminate 1;fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then macdeployqt dust3d_unstable.app -dmg || travis_terminate 1; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then chmod a+x ./ci/linuxdeployqt.AppImage || travis_terminate 1; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ./ci/linuxdeployqt.AppImage dust3d_unstable/dust3d_unstable -appimage -bundle-non-qt-libs -verbose=2 || travis_terminate 1; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sh ci/upload-github-release-asset.sh github_api_token=${my_auth_token} branch=$TRAVIS_BRANCH owner=huxingyi repo=dust3d tag=unstable filename=dust3d_unstable.dmg; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then bash ci/upload-github-release-asset.sh github_api_token=${my_auth_token} branch=$TRAVIS_BRANCH owner=huxingyi repo=dust3d tag=unstable filename=dust3d_unstable-x86_64.AppImage; fi
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=dust3d_unstable
|
||||||
|
Icon=icon
|
Binary file not shown.
After Width: | Height: | Size: 27 KiB |
Binary file not shown.
Binary file not shown.
|
@ -42,7 +42,7 @@ AUTH="Authorization: token $github_api_token"
|
||||||
WGET_ARGS="--content-disposition --auth-no-challenge --no-cookie"
|
WGET_ARGS="--content-disposition --auth-no-challenge --no-cookie"
|
||||||
CURL_ARGS="-LJO#"
|
CURL_ARGS="-LJO#"
|
||||||
|
|
||||||
if [[ "$tag" == 'LATEST' ]]; then
|
if [[ "$tag" == "LATEST" ]]; then
|
||||||
GH_TAGS="$GH_REPO/releases/latest"
|
GH_TAGS="$GH_REPO/releases/latest"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -14,11 +14,18 @@ Dust3D haven't yet been released, however, you can try the latest unstable versi
|
||||||
|
|
||||||
https://github.com/huxingyi/dust3d/releases/download/unstable/dust3d_unstable.dmg
|
https://github.com/huxingyi/dust3d/releases/download/unstable/dust3d_unstable.dmg
|
||||||
|
|
||||||
* Other Platform:
|
* For Linux:
|
||||||
|
|
||||||
please build_ from source.
|
https://github.com/huxingyi/dust3d/releases/download/unstable/dust3d_unstable-x86_64.AppImage
|
||||||
|
|
||||||
.. _build: https://dust3d.readthedocs.io/en/latest/builds.html
|
$ chomd a+x ./dust3d_unstable-x86_64.AppImage
|
||||||
|
$ ./dust3d_unstable-x86_64.AppImage
|
||||||
|
|
||||||
|
* Build on Your Own:
|
||||||
|
|
||||||
|
Build_ from source.
|
||||||
|
|
||||||
|
.. _Build: https://dust3d.readthedocs.io/en/latest/builds.html
|
||||||
|
|
||||||
Found BUG?
|
Found BUG?
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue