diff --git a/.travis.yml b/.travis.yml index 9b636d61e..102e74eeb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,15 +1,14 @@ language: generic before_install: - sh package/linux/travis-decrypt-key - - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then ( sudo Xvfb :99 -ac -screen 0 1024x768x8; echo ok )& fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update -v ; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install ccache; fi script: - travis_wait 30 bash package/linux/travis-setup.sh - - mkdir build && cd build - - cmake -DBOOST_ROOT=$BOOST_DIR -DSLIC3R_STATIC=ON ../src - - cmake --build . - - ctest . -R TestSlic3r + - if [[ "$BUILD_PL" == false ]]; then mkdir build && cd build; fi + - if [[ "$BUILD_PL" == false ]]; then cmake -DBOOST_ROOT=$BOOST_DIR -DSLIC3R_STATIC=ON ../src; fi + - if [[ "$BUILD_PL" == false ]]; then cmake --build .; fi + - if [[ "$BUILD_PL" == false ]]; then ctest . -R TestSlic3r; fi + - if [[ "$BUILD_PL" == true ]]; then perlbrew switch slic3r-perl; fi + - if [[ "$BUILD_PL" == true ]]; then perl ./Build.PL # - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then ctest . -R TestGUI; fi branches: only: @@ -40,6 +39,13 @@ notifications: dist: trusty matrix: include: + - lanugage: perl + os: linux + env: + - BUILD_PL=true + - SLIC3R_STATIC=1 + - CC=gcc-7 + - CXX=g++-7 - os: linux env: - WXVERSION=pkg @@ -58,7 +64,11 @@ matrix: - package/deploy/sftp.sh linux ~/slic3r-upload.rsa *.bz2 Slic3r*.AppImage - package/deploy/sftp-symlink.sh linux ~/slic3r-upload.rsa AppImage Slic3r*.AppImage - package/deploy/sftp-symlink.sh linux ~/slic3r-upload.rsa tar.bz2 *.bz2 - - os: osx + - os: osx + before_install: + - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then ( sudo Xvfb :99 -ac -screen 0 1024x768x8; echo ok )& fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update -v ; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install ccache; fi env: - WXVERSION=pkg - BOOST_DIR=$HOME/boost_1_63_0 diff --git a/package/linux/travis-setup.sh b/package/linux/travis-setup.sh index b8f4b28a9..cd32461dc 100755 --- a/package/linux/travis-setup.sh +++ b/package/linux/travis-setup.sh @@ -2,40 +2,68 @@ # Script to configure travis environment prior to build CACHE=$HOME/cache mkdir -p $CACHE -if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then - if [[ "$WXVERSION" != "pkg" ]]; then - export WXDIR=$HOME/wx${WXVERSION} - if [ ! -e $CACHE/wx${WXVERSION}.tar.bz2 ]; then - echo "Downloading http://www.siusgs.com/slic3r/buildserver/wx${WXVERSION}-libs.tar.bz2 => $CACHE/wx${WXVERSION}.tar.bz2" - curl -L "http://www.siusgs.com/slic3r/buildserver/wx${WXVERSION}-libs.tar.bz2" -o $CACHE/wx${WXVERSION}.tar.bz2 - fi - tar -C$HOME -xjf $CACHE/wx${WXVERSION}.tar.bz2 + +if [[ "$BUILD_PL" == true ]]; then + if [ ! -e $CACHE/slic3r-perlbrew-5.24.tar.bz2 ]; then + echo "Downloading http://www.siusgs.com/slic3r/buildserver/slic3r-perl.524.travis.tar.bz2 => $CACHE/slic3r-perlbrew-5.24.tar.bz2" + curl -L "http://www.siusgs.com/slic3r/buildserver/slic3r-perl.524.travis.tar.bz2" -o $CACHE/slic3r-perlbrew-5.24.tar.bz2; fi if [ ! -e $CACHE/boost-compiled.tar.bz2 ]; then echo "Downloading http://www.siusgs.com/slic3r/buildserver/boost_1_63_0.built.gcc-4.9.4-buildserver.tar.bz2 => $CACHE/boost-compiled.tar.bz2" curl -L "http://www.siusgs.com/slic3r/buildserver/boost_1_63_0.built.gcc-4.9.4-buildserver.tar.bz2" -o $CACHE/boost-compiled.tar.bz2 fi - - tar -C$HOME -xjf $CACHE/boost-compiled.tar.bz2 -elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then - if [[ "$WXVERSION" != "pkg" ]]; then - WXVER_EXPANDED=${WXVERSION:0:1}.${WXVERSION:1:1}.${WXVERSION:2:1} - export WXDIR=$HOME/wx${WXVERSION} - if [ ! -e $CACHE/wx${WXVERSION}-${TRAVIS_OS_NAME}.tar.bz2 ]; then - curl -L "https://github.com/wxWidgets/wxWidgets/releases/download/v${WXVER_EXPANDED}/wxWidgets-${WXVER_EXPANDED}.tar.bz2" -o $HOME/wx${WXVERSION}-src.tar.bz2 - tar -C$HOME -xjf $HOME/wx${WXVERSION}-src.tar.bz2 - mkdir $WXDIR - cd $HOME/$WXDIR && cmake $HOME/wxWidgets-${WXVER_EXPANDED} -DwxBUILD_SHARED=OFF - cmake --build . --target -- -j4 - tar -C$HOME -cjf $CACHE/wx${WXVERSION}-${TRAVIS_OS_NAME}.tar.bz2 $(basename ${WXDIR}) - else - tar -C$HOME -xjf $CACHE/wx${WXVERSION}-${TRAVIS_OS_NAME}.tar.bz2 + if [ ! -e $CACHE/local-lib-wx${WXVERSION}.tar.bz2 ]; then + echo "Downloading http://www.siusgs.com/slic3r/buildserver/slic3r-dependencies.travis-wx${WXVERSION}.tar.bz2 => $CACHE/local-lib-wx${WXVERSION}.tar.bz2" + curl -L "http://www.siusgs.com/slic3r/buildserver/slic3r-dependencies.travis-wx${WXVERSION}.tar.bz2" -o $CACHE/local-lib-wx${WXVERSION}.tar.bz2 + fi + + if [ ! -e $CACHE/wx${WXVERSION}.tar.bz2 ]; then + echo "Downloading http://www.siusgs.com/slic3r/buildserver/wx${WXVERSION}-libs.tar.bz2 => $CACHE/wx${WXVERSION}.tar.bz2" + curl -L "http://www.siusgs.com/slic3r/buildserver/wx${WXVERSION}-libs.tar.bz2" -o $CACHE/wx${WXVERSION}.tar.bz2 + fi + + tar -C$TRAVIS_BUILD_DIR -xjf $CACHE/local-lib-wx${WXVERSION}.tar.bz2 + tar -C$HOME/perl5/perlbrew/perls -xjf $CACHE/slic3r-perlbrew-5.24.tar.bz2 + tar -C$HOME -xjf $CACHE/boost-compiled.tar.bz2 + tar -C$HOME -xjf $CACHE/wx${WXVERSION}.tar.bz2 +else + if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then + if [[ "$WXVERSION" != "pkg" ]]; then + export WXDIR=$HOME/wx${WXVERSION} + if [ ! -e $CACHE/wx${WXVERSION}.tar.bz2 ]; then + echo "Downloading http://www.siusgs.com/slic3r/buildserver/wx${WXVERSION}-libs.tar.bz2 => $CACHE/wx${WXVERSION}.tar.bz2" + curl -L "http://www.siusgs.com/slic3r/buildserver/wx${WXVERSION}-libs.tar.bz2" -o $CACHE/wx${WXVERSION}.tar.bz2 + fi + tar -C$HOME -xjf $CACHE/wx${WXVERSION}.tar.bz2 + fi + + if [ ! -e $CACHE/boost-compiled.tar.bz2 ]; then + echo "Downloading http://www.siusgs.com/slic3r/buildserver/boost_1_63_0.built.gcc-4.9.4-buildserver.tar.bz2 => $CACHE/boost-compiled.tar.bz2" + curl -L "http://www.siusgs.com/slic3r/buildserver/boost_1_63_0.built.gcc-4.9.4-buildserver.tar.bz2" -o $CACHE/boost-compiled.tar.bz2 + fi + + tar -C$HOME -xjf $CACHE/boost-compiled.tar.bz2 + + elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then + if [[ "$WXVERSION" != "pkg" ]]; then + WXVER_EXPANDED=${WXVERSION:0:1}.${WXVERSION:1:1}.${WXVERSION:2:1} + export WXDIR=$HOME/wx${WXVERSION} + if [ ! -e $CACHE/wx${WXVERSION}-${TRAVIS_OS_NAME}.tar.bz2 ]; then + curl -L "https://github.com/wxWidgets/wxWidgets/releases/download/v${WXVER_EXPANDED}/wxWidgets-${WXVER_EXPANDED}.tar.bz2" -o $HOME/wx${WXVERSION}-src.tar.bz2 + tar -C$HOME -xjf $HOME/wx${WXVERSION}-src.tar.bz2 + mkdir $WXDIR + cd $HOME/$WXDIR && cmake $HOME/wxWidgets-${WXVER_EXPANDED} -DwxBUILD_SHARED=OFF + cmake --build . --target -- -j4 + tar -C$HOME -cjf $CACHE/wx${WXVERSION}-${TRAVIS_OS_NAME}.tar.bz2 $(basename ${WXDIR}) + else + tar -C$HOME -xjf $CACHE/wx${WXVERSION}-${TRAVIS_OS_NAME}.tar.bz2 + fi + export PATH=${PATH}:${WXDIR} + cd $TRAVIS_BUILD_DIR # go back to the build dir + else + brew install wxmac # install via homebrew fi - export PATH=${PATH}:${WXDIR} - cd $TRAVIS_BUILD_DIR # go back to the build dir - else - brew install wxmac # install via homebrew fi fi