diff --git a/.travis.yml b/.travis.yml index a437ef3d56..ce252d2b38 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,7 +11,6 @@ # - deploy to dl.slic3r.org (except for the cppgui branch) language: generic -dist: trusty before_install: - sh package/common/travis-decrypt-key @@ -33,37 +32,54 @@ addons: apt: sources: - ubuntu-toolchain-r-test - - sourceline: 'deb http://download.opensuse.org/repositories/science:/dlr/xUbuntu_14.04/ /' - key_url: 'https://download.opensuse.org/repositories/science:dlr/xUbuntu_14.04/Release.key' packages: - - g++-7 - - gcc-7 - - g++-8 - - gcc-8 - - libgtk2.0-0 - - libgtk2.0-dev - - freeglut3 - - cmake - - wx3.0-headers - - libwxgtk3.0-dev - - wx-common + - g++-7 + - gcc-7 + - g++-8 + - gcc-8 + - libgtk2.0-0 + - libgtk2.0-dev + - freeglut3 + - cmake + - wx-common + - wx3.0-headers + - libwxgtk3.0-gtk3-0v5 + - libboost-all-dev + - libboost-thread-dev + - libboost-system-dev + - libboost-filesystem-dev + - cpanminus + - liblocal-lib-perl + homebrew: + update: true + packages: + - ccache + - coreutils + - boost + - gcc + - perl + - cpanminus + - cmake + - wxmac@3.0 ssh_known_hosts: dl.slic3r.org matrix: include: - os: linux + dist: focal env: - TARGET=main cache: directories: - - $HOME/boost_1_63_0 - - $HOME/perl5 - - $HOME/wx302 + # - $HOME/boost_1_63_0 + # - $HOME/perl5 + # - $HOME/wx302 - local-lib after_success: - if [[ "${TRAVIS_BRANCH}" != "cppgui" ]]; then source ${HOME}/perl5/perlbrew/etc/bashrc; perlbrew switch slic3r-perl; ./package/linux/travis-deploy-main.sh || travis_terminate 1; fi - os: linux + dist: focal env: - TARGET=cpp - CACHE=$HOME/cache @@ -74,44 +90,29 @@ matrix: after_success: - package/linux/travis-deploy-cpp.sh - # While this works, it does not appear to be needed as the 10.13 builds - # work on 10.12 as well. - # - os: osx - # # osx_image: xcode8 # OS X 10.11 - # osx_image: xcode9.2 # OS X 10.12 - # env: - # - TARGET=main - # cache: - # directories: - # - /usr/local/Homebrew - # - $HOME/Library/Caches/Homebrew - # - local-lib - - # OSX errors out consistently for Perl now too. Back to jenkins. - # - os: osx - # osx_image: xcode9.4 # OS X 10.13 - # env: - # - TARGET=main - # cache: - # directories: - # - /usr/local/Homebrew - # - $HOME/Library/Caches/Homebrew - # - local-lib - # after_success: - # - if [[ "${TRAVIS_BRANCH}" != "cppgui" ]]; then ./package/osx/travis-deploy-main.sh || travis_terminate 1; fi + - os: osx + osx_image: xcode11.5 # OS X 10.15.4 + env: + - TARGET=main + cache: + directories: + - /usr/local/Homebrew + - $HOME/Library/Caches/Homebrew + - local-lib + after_success: + - if [[ "${TRAVIS_BRANCH}" != "cppgui" ]]; then ./package/osx/travis-deploy-main.sh || travis_terminate 1; fi - # OSX is erroring out consistently for C++, remove and debug - # - os: osx - # osx_image: xcode9.4 - # env: - # - TARGET=cpp - # - CACHE=$HOME/cache - # cache: - # ccache: true - # directories: - # - /usr/local/Homebrew - # - $HOME/cache - # - $HOME/Library/Caches/Homebrew + - os: osx + osx_image: xcode11.5 # OS X 10.15.4 + env: + - TARGET=cpp + - CACHE=$HOME/cache + cache: + ccache: true + directories: + - /usr/local/Homebrew + - $HOME/cache + - $HOME/Library/Caches/Homebrew env: global: diff --git a/Build.PL b/Build.PL index 2dd18435a5..13340ea079 100755 --- a/Build.PL +++ b/Build.PL @@ -129,7 +129,7 @@ EOF # temporary workaround for upstream bug in test push @cmd, '--notest' - if $module =~ /^(?:OpenGL|Math::PlanePath|Test::Harness|IO::Scalar)$/; + if $ENV{SLIC3R_NO_CPANM_TESTS} || $module =~ /^(?:OpenGL|Math::PlanePath|Test::Harness|IO::Scalar)$/; push @cmd, "$module~$version"; my $res = system @cmd; diff --git a/package/linux/travis-build-cpp.sh b/package/linux/travis-build-cpp.sh index afa96ec6d4..162106c3d2 100755 --- a/package/linux/travis-build-cpp.sh +++ b/package/linux/travis-build-cpp.sh @@ -23,14 +23,9 @@ if [[ "$WXVERSION" != "pkg" ]]; then 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 - mkdir build && cd build -${CMAKE} -DBOOST_ROOT=$HOME/boost_1_63_0 -DSLIC3R_STATIC=ON -DCMAKE_BUILD_TYPE=Release ../src +${CMAKE} -DSLIC3R_STATIC=ON -DCMAKE_BUILD_TYPE=Release ../src ${CMAKE} --build . ./slic3r_test -s + +travis_terminate 0 diff --git a/package/linux/travis-build-main.sh b/package/linux/travis-build-main.sh index 95fd6aa298..7faee9ee90 100755 --- a/package/linux/travis-build-main.sh +++ b/package/linux/travis-build-main.sh @@ -4,32 +4,29 @@ ### set -euo pipefail set -eo pipefail -if [ ! -d $HOME/perl5/perlbrew/perls/slic3r-perl ]; then - echo "Downloading slic3r-perlbrew-5.28.tar.bz2" - curl -L "http://www.siusgs.com/slic3r/buildserver/slic3r-perl.528.gcc81.travis.tar.bz2" -o /tmp/slic3r-perlbrew-5.28.tar.bz2; - tar -C$HOME/perl5/perlbrew/perls -xjf /tmp/slic3r-perlbrew-5.28.tar.bz2 -fi +# if [ ! -d $HOME/perl5/perlbrew/perls/slic3r-perl ]; then +# echo "Downloading slic3r-perlbrew-5.28.tar.bz2" +# curl -L "http://www.siusgs.com/slic3r/buildserver/slic3r-perl.528.gcc81.travis.tar.bz2" -o /tmp/slic3r-perlbrew-5.28.tar.bz2; +# tar -C$HOME/perl5/perlbrew/perls -xjf /tmp/slic3r-perlbrew-5.28.tar.bz2 +# fi -source $HOME/perl5/perlbrew/etc/bashrc -perlbrew switch slic3r-perl +# source $HOME/perl5/perlbrew/etc/bashrc +# perlbrew switch slic3r-perl -if [ ! -e $HOME/boost_1_63_0/boost/version.hpp ]; then - echo "Downloading boost_1_69_0.built.gcc-8.1.0-buildserver.tar.bz2" - curl -L "http://www.siusgs.com/slic3r/buildserver/boost_1_69_0.built.gcc-8.1.0-buildserver.tar.bz2" -o /tmp/boost-compiled.tar.bz2 - tar -C$HOME -xjf /tmp/boost-compiled.tar.bz2 -fi +# if [ ! -e ./local-lib/lib/perl5/x86_64-linux-thread-multi/Wx.pm ]; then +# echo "Downloading slic3r-dependencies.gcc81.travis-wx302.tar.bz2" +# curl -L "http://www.siusgs.com/slic3r/buildserver/slic3r-dependencies.gcc81.travis-wx302.tar.bz2" -o /tmp/local-lib-wx302.tar.bz2 +# tar -C$TRAVIS_BUILD_DIR -xjf /tmp/local-lib-wx302.tar.bz2 +# fi -if [ ! -e ./local-lib/lib/perl5/x86_64-linux-thread-multi/Wx.pm ]; then - echo "Downloading slic3r-dependencies.gcc81.travis-wx302.tar.bz2" - curl -L "http://www.siusgs.com/slic3r/buildserver/slic3r-dependencies.gcc81.travis-wx302.tar.bz2" -o /tmp/local-lib-wx302.tar.bz2 - tar -C$TRAVIS_BUILD_DIR -xjf /tmp/local-lib-wx302.tar.bz2 -fi +export SLIC3R_NO_CPANM_TESTS=1 cpanm local::lib eval $(perl -Mlocal::lib=${TRAVIS_BUILD_DIR}/local-lib) CC=g++-8 CXX=g++-8 cpanm ExtUtils::CppGuess --force -CC=g++-8 CXX=g++-8 BOOST_DIR=$HOME/boost_1_69_0 perl ./Build.PL +CC=g++-8 CXX=g++-8 perl ./Build.PL excode=$? if [ $excode -ne 0 ]; then exit $excode; fi perl ./Build.PL --gui -exit $? + +travis_terminate 0 diff --git a/package/osx/travis-build-cpp.sh b/package/osx/travis-build-cpp.sh index b23c37c935..5ea5b10a02 100755 --- a/package/osx/travis-build-cpp.sh +++ b/package/osx/travis-build-cpp.sh @@ -7,31 +7,30 @@ export DISPLAY=:99.0 mkdir -p $CACHE ( sudo Xvfb :99 -ac -screen 0 1024x768x8; echo ok )& -brew update -v -brew install ccache || brew upgrade ccache -brew install coreutils || brew upgrade coreutils -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 || brew upgrade wxmac # install via homebrew -fi +# 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 || brew upgrade wxmac # install via homebrew +# fi mkdir build && cd build -cmake -DBOOST_ROOT=$HOME/boost_1_63_0 -DSLIC3R_STATIC=ON -DCMAKE_BUILD_TYPE=Release ../src +cmake -DBOOST_ROOT=/usr/local -DSLIC3R_STATIC=ON -DCMAKE_BUILD_TYPE=Release ../src cmake --build . ./slic3r_test -s #./gui_test -s + +travis_terminate 0 diff --git a/package/osx/travis-build-main.sh b/package/osx/travis-build-main.sh index b2df40ace6..85467afeeb 100755 --- a/package/osx/travis-build-main.sh +++ b/package/osx/travis-build-main.sh @@ -1,20 +1,21 @@ #!/bin/bash set -euo pipefail -# These two commands are only needed on 10.12: -rm -rf /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask -brew uninstall --force postgis cgal sfcgal +# # These two commands are only needed on 10.12: +# rm -rf /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask +# brew uninstall --force postgis cgal sfcgal -brew update -v +# brew update -v -brew install boost || brew upgrade boost -brew install perl || brew upgrade perl -brew install cpanminus || brew upgrade cpanminus -brew install wxwidgets || brew upgrade wxwidgets -brew install coreutils || brew upgrade coreutils -brew link --overwrite perl cpanminus +# brew install boost || brew upgrade boost +# brew install perl || brew upgrade perl +# brew install cpanminus || brew upgrade cpanminus +# brew install wxmac@3.0 || brew upgrade wxmac@3.0 +# brew install coreutils || brew upgrade coreutils +# brew link --overwrite perl cpanminus export SLIC3R_STATIC=1 +export SLIC3R_NO_CPANM_TESTS=1 export BOOST_DIR=/usr/local perl ./Build.PL @@ -31,4 +32,6 @@ fi perl ./Build.PL --gui # Install PAR::Packer now so that it gets cached by Travis -cpanm --local-lib local-lib PAR::Packer +cpanm --notest --local-lib local-lib PAR::Packer + +travis_terminate 0 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 5b3ad7ed8a..de8730cb01 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -122,7 +122,7 @@ find_package(Threads REQUIRED) set(Boost_NO_BOOST_CMAKE ON) find_package(Boost REQUIRED COMPONENTS system thread filesystem) -if (NOT (${Boost_VERSION_STRING} VERSION_LESS "1.74.0")) +if (NOT Boost_VERSION VERSION_LESS 107400) MESSAGE("Adding in boost::nowide") find_package(Boost REQUIRED COMPONENTS system thread filesystem OPTIONAL_COMPONENTS nowide) endif()