.travis.sh 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #---------------------------------------------------------------------------
  2. #Open Asset Import Library (assimp)
  3. #---------------------------------------------------------------------------
  4. # Copyright (c) 2006-2020, assimp team
  5. #
  6. # License see LICENSE file
  7. #
  8. function generate() {
  9. OPTIONS="-DASSIMP_WERROR=ON"
  10. OPTIONS="$OPTIONS -DASSIMP_NO_EXPORT=NO"
  11. if [ "$DISABLE_EXPORTERS" = "YES" ] ; then
  12. OPTIONS="$OPTIONS -DASSIMP_NO_EXPORT=YES"
  13. else
  14. OPTIONS="$OPTIONS -DASSIMP_NO_EXPORT=NO"
  15. fi
  16. if [ "$SHARED_BUILD" = "ON" ] ; then
  17. OPTIONS="$OPTIONS -DBUILD_SHARED_LIBS=ON"
  18. else
  19. OPTIONS="$OPTIONS -DBUILD_SHARED_LIBS=OFF"
  20. fi
  21. if [ "$ENABLE_COVERALLS" = "ON" ] ; then
  22. OPTIONS="$OPTIONS -DASSIMP_COVERALLS=ON"
  23. else
  24. OPTIONS="$OPTIONS -DASSIMP_COVERALLS=OFF"
  25. fi
  26. if [ "$ASAN" = "ON" ] ; then
  27. OPTIONS="$OPTIONS -DASSIMP_ASAN=ON"
  28. else
  29. OPTIONS="$OPTIONS -DASSIMP_ASAN=OFF"
  30. fi
  31. if [ "$UBSAN" = "ON" ] ; then
  32. OPTIONS="$OPTIONS -DASSIMP_UBSAN=ON"
  33. fi
  34. cmake -G "Unix Makefiles" $OPTIONS
  35. }
  36. # build and run unittests, if not android
  37. if [ $ANDROID ]; then
  38. ant -v -Dmy.dir=${TRAVIS_BUILD_DIR} -f ${TRAVIS_BUILD_DIR}/port/jassimp/build.xml ndk-jni
  39. fi
  40. if [ "$TRAVIS_OS_NAME" = "linux" ]; then
  41. if [ $ANALYZE = "ON" ] ; then
  42. if [ "$CC" = "clang" ]; then
  43. scan-build cmake -G "Unix Makefiles" -DBUILD_SHARED_LIBS=OFF -DASSIMP_BUILD_TESTS=OFF
  44. scan-build --status-bugs make -j2
  45. else
  46. cppcheck --version
  47. generate \
  48. && cppcheck --error-exitcode=1 -j2 -Iinclude -Icode code 2> cppcheck.txt
  49. if [ -s cppcheck.txt ]; then
  50. cat cppcheck.txt
  51. exit 1
  52. fi
  53. fi
  54. else
  55. generate \
  56. && make -j4 \
  57. && sudo make install \
  58. && sudo ldconfig \
  59. && (cd test/unit; ../../bin/unit)
  60. fi
  61. fi