diff --git a/.appveyor.yml b/.appveyor.yml index 9d9ebfa8..62edb100 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -3,16 +3,9 @@ shallow_clone: true image: - Visual Studio 2015 - Visual Studio 2017 -configuration: - - Debug - - Release platform: - Win32 - x64 build_script: - - cmake --version - - mkdir build && cd build - - cmake .. -A%PLATFORM% - - cmake --build . --config %CONFIGURATION% - - ctest + - scripts\build_all.bat test: off diff --git a/.travis.yml b/.travis.yml index 830650a5..cb74b62d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,27 +1,69 @@ -dist: trusty language: cpp -compiler: - - gcc - - clang -env: - - BUILD_TYPE=Debug - - BUILD_TYPE=Release -addons: - apt: - sources: - - ubuntu-toolchain-r-test - - llvm-toolchain-trusty-5.0 - packages: - - g++-7 - - clang-5.0 -install: - - "[ $CXX = g++ ] && export CC=gcc-7 || true" - - "[ $CXX = g++ ] && export CXX=g++-7 || true" - - "[ $CXX = clang++ ] && export CC=clang-5.0 || true" - - "[ $CXX = clang++ ] && export CXX=clang++-5.0 || true" +matrix: + include: + - os: osx + osx_image: xcode8.3 + compiler: clang + - os: osx + osx_image: xcode9 + compiler: clang + - os: osx + osx_image: xcode9.1 + compiler: clang + - os: osx + osx_image: xcode9.2 + compiler: clang + - os: osx + osx_image: xcode9.3 + compiler: clang + - os: osx + osx_image: xcode9.4 + compiler: clang + - os: linux + dist: trusty + addons: { apt: { sources: ubuntu-toolchain-r-test, packages: g++-4.9 } } + env: MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9" + - os: linux + dist: trusty + addons: { apt: { sources: ubuntu-toolchain-r-test, packages: g++-5 } } + env: MATRIX_EVAL="CC=gcc-5 && CXX=g++-5" + - os: linux + dist: trusty + addons: { apt: { sources: ubuntu-toolchain-r-test, packages: g++-6 } } + env: MATRIX_EVAL="CC=gcc-6 && CXX=g++-6" + - os: linux + dist: trusty + addons: { apt: { sources: ubuntu-toolchain-r-test, packages: g++-7 } } + env: MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" + - os: linux + dist: trusty + addons: { apt: { sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-precise-3.6"], packages: ["clang-3.6", "g++-5"] } } + env: MATRIX_EVAL="CC=clang-3.6 && CXX=clang++-3.6" + - os: linux + dist: trusty + addons: { apt: { sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-precise-3.7"], packages: ["clang-3.7", "g++-5"] } } + env: MATRIX_EVAL="CC=clang-3.7 && CXX=clang++-3.7" + - os: linux + dist: trusty + addons: { apt: { sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-precise-3.8"], packages: ["clang-3.8", "g++-5"] } } + env: MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" + - os: linux + dist: trusty + addons: { apt: { sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-precise-3.9"], packages: ["clang-3.9", "g++-5"] } } + env: MATRIX_EVAL="CC=clang-3.9 && CXX=clang++-3.9" + - os: linux + dist: trusty + addons: { apt: { sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-trusty-4.0"], packages: ["clang-4.0", "g++-5"] } } + env: MATRIX_EVAL="CC=clang-4.0 && CXX=clang++-4.0" + - os: linux + dist: trusty + addons: { apt: { sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-trusty-5.0"], packages: ["clang-5.0", "g++-7"] } } + env: MATRIX_EVAL="CC=clang-5.0 && CXX=clang++-5.0" + - os: linux + dist: trusty + addons: { apt: { sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-trusty-6.0"], packages: ["clang-6.0", "g++-7"] } } + env: MATRIX_EVAL="CC=clang-6.0 && CXX=clang++-6.0" +before_install: + - eval "${MATRIX_EVAL}" script: - - mkdir -p build/$BUILD_TYPE - - cd build/$BUILD_TYPE - - cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE ../.. - - cmake --build . -- -j2 - - ctest + - ./scripts/build_all.sh diff --git a/README.md b/README.md index 6ac00a26..759dc046 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ [![license][badge.license]][license] [badge.travis]: https://api.travis-ci.org/enduro2d/enduro2d.svg?branch=master -[badge.appveyor]: https://ci.appveyor.com/api/projects/status/github/enduro2d/enduro2d?svg=true&passingText=master%20-%20OK +[badge.appveyor]: https://ci.appveyor.com/api/projects/status/lo14y5nwttb2u9hq/branch/master?svg=true&passingText=master%20-%20OK [badge.language]: https://img.shields.io/badge/language-C%2B%2B14-red.svg [badge.license]: https://img.shields.io/badge/license-MIT-blue.svg diff --git a/scripts/build_all.bat b/scripts/build_all.bat index 7f7f423d..03705ec0 100644 --- a/scripts/build_all.bat +++ b/scripts/build_all.bat @@ -1,4 +1,10 @@ @echo off set SCRIPT_DIR=%~dp0% -%SCRIPT_DIR%\build_debug.bat -%SCRIPT_DIR%\build_release.bat +%SCRIPT_DIR%\build_debug.bat || goto :error +%SCRIPT_DIR%\build_release.bat || goto :error + +goto :EOF + +:error +echo Failed with error #%errorlevel%. +exit /b %errorlevel% diff --git a/scripts/build_all.sh b/scripts/build_all.sh index 9b221ed5..d9cd585d 100755 --- a/scripts/build_all.sh +++ b/scripts/build_all.sh @@ -1,4 +1,5 @@ #!/bin/bash +set -e SCRIPT_DIR=`dirname "$BASH_SOURCE"` $SCRIPT_DIR/build_debug.sh $SCRIPT_DIR/build_release.sh diff --git a/scripts/build_clear.bat b/scripts/build_clear.bat index b2b57d7b..44375fb9 100644 --- a/scripts/build_clear.bat +++ b/scripts/build_clear.bat @@ -1,3 +1,9 @@ @echo off set BUILD_DIR=%~dp0%\..\build -rmdir /s /q %BUILD_DIR% +rmdir /s /q %BUILD_DIR% || goto :error + +goto :EOF + +:error +echo Failed with error #%errorlevel%. +exit /b %errorlevel% diff --git a/scripts/build_clear.sh b/scripts/build_clear.sh index 9e860dcd..ef8a2e36 100755 --- a/scripts/build_clear.sh +++ b/scripts/build_clear.sh @@ -1,3 +1,4 @@ #!/bin/bash +set -e BUILD_DIR=`dirname "$BASH_SOURCE"`/../build rm -rf $BUILD_DIR diff --git a/scripts/build_debug.bat b/scripts/build_debug.bat index 55694b84..61b7bfdd 100644 --- a/scripts/build_debug.bat +++ b/scripts/build_debug.bat @@ -1,8 +1,14 @@ @echo off set BUILD_DIR=%~dp0%\..\build -mkdir %BUILD_DIR%\debug -cd %BUILD_DIR%\debug -cmake ../.. -cmake --build . --config Debug -ctest -cd ..\.. +mkdir %BUILD_DIR%\debug || goto :error +cd %BUILD_DIR%\debug || goto :error +cmake ../.. || goto :error +cmake --build . --config Debug || goto :error +ctest || goto :error +cd ..\.. || goto :error + +goto :EOF + +:error +echo Failed with error #%errorlevel%. +exit /b %errorlevel% diff --git a/scripts/build_debug.sh b/scripts/build_debug.sh index ca29ceed..dd63fc19 100755 --- a/scripts/build_debug.sh +++ b/scripts/build_debug.sh @@ -1,7 +1,9 @@ #!/bin/bash +set -e BUILD_DIR=`dirname "$BASH_SOURCE"`/../build mkdir -p $BUILD_DIR/debug cd $BUILD_DIR/debug cmake -DCMAKE_BUILD_TYPE=Debug ../.. cmake --build . -- -j8 ctest +cd ../.. diff --git a/scripts/build_release.bat b/scripts/build_release.bat index 6c59e28a..152cb491 100644 --- a/scripts/build_release.bat +++ b/scripts/build_release.bat @@ -1,8 +1,14 @@ @echo off set BUILD_DIR=%~dp0%\..\build -mkdir %BUILD_DIR%\release -cd %BUILD_DIR%\release -cmake ../.. -cmake --build . --config Release -ctest -cd ..\.. +mkdir %BUILD_DIR%\release || goto :error +cd %BUILD_DIR%\release || goto :error +cmake ../.. || goto :error +cmake --build . --config Release || goto :error +ctest || goto :error +cd ..\.. || goto :error + +goto :EOF + +:error +echo Failed with error #%errorlevel%. +exit /b %errorlevel% diff --git a/scripts/build_release.sh b/scripts/build_release.sh index 94e86d29..76a3fd3f 100755 --- a/scripts/build_release.sh +++ b/scripts/build_release.sh @@ -1,7 +1,9 @@ #!/bin/bash +set -e BUILD_DIR=`dirname "$BASH_SOURCE"`/../build mkdir -p $BUILD_DIR/release cd $BUILD_DIR/release cmake -DCMAKE_BUILD_TYPE=Release ../.. cmake --build . -- -j8 ctest +cd ../.. diff --git a/scripts/gen_msvc2017_project.bat b/scripts/gen_msvc2017_project.bat index bc292331..c3bfba5c 100644 --- a/scripts/gen_msvc2017_project.bat +++ b/scripts/gen_msvc2017_project.bat @@ -1,6 +1,12 @@ @echo off set BUILD_DIR=%~dp0%\..\build -mkdir %BUILD_DIR%\msvc2017 -cd %BUILD_DIR%\msvc2017 -cmake -G "Visual Studio 15 2017" ..\.. -start enduro2d.sln +mkdir %BUILD_DIR%\msvc2017 || goto :error +cd %BUILD_DIR%\msvc2017 || goto :error +cmake -G "Visual Studio 15 2017" ..\.. || goto :error +start enduro2d.sln || goto :error + +goto :EOF + +:error +echo Failed with error #%errorlevel%. +exit /b %errorlevel% diff --git a/scripts/gen_xcode_project.sh b/scripts/gen_xcode_project.sh index ac886720..a3257808 100755 --- a/scripts/gen_xcode_project.sh +++ b/scripts/gen_xcode_project.sh @@ -1,4 +1,5 @@ #!/bin/bash +set -e BUILD_DIR=`dirname "$BASH_SOURCE"`/../build mkdir -p $BUILD_DIR/xcode cd $BUILD_DIR/xcode