os: - linux - osx matrix: allow_failures: - env: COVERAGE=1 exclude: # Don't build using gcc on mac - os: osx compiler: gcc # Don't try to do Coverity or coverage builds on mac - os: osx env: COVERITY=1 env: COVERAGE=1 # Only do coverity or coverage build on Linux when the compiler is gcc - os: linux compiler: clang env: COVERITY=1 env: COVERAGE=1 # Don't build with clang on Linux - os: linux compiler: clang compiler: - gcc - clang before_script: - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y; fi - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo add-apt-repository ppa:boost-latest/ppa -y; fi - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get update; fi - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "g++" ]]; then sudo apt-get install gcc-4.9; fi - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "g++" ]]; then sudo apt-get install g++-4.9; fi - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "g++" ]]; then sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20; fi - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "g++" ]]; then sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20; fi - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "g++" ]]; then sudo update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-4.9 90; fi - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "g++" ]]; then sudo update-alternatives --config gcc; fi - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "g++" ]]; then sudo update-alternatives --config g++; fi - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "g++" && "$COVERAGE" == 1 ]]; then wget http://ftp.de.debian.org/debian/pool/main/l/lcov/lcov_1.11.orig.tar.gz; fi - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "g++" && "$COVERAGE" == 1 ]]; then tar xf lcov_1.11.orig.tar.gz; fi - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "g++" && "$COVERAGE" == 1 ]]; then sudo make -C lcov-1.11/ install; fi - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "g++" && "$COVERAGE" == 1 ]]; then sudo apt-get install ruby1.9.1 ruby1.9.1-dev; fi - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "g++" && "$COVERAGE" == 1 ]]; then sudo apt-get install rubygems1.9.1 irb1.9.1 ri1.9.1; fi - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "g++" && "$COVERAGE" == 1 ]]; then rvmsudo gem install coveralls-lcov; fi - if [ "$TRAVIS_OS_NAME" == "linux" ]; then chmod +x ./CIBuild/linux/dependencies.sh; fi - if [ "$TRAVIS_OS_NAME" == "osx" ]; then chmod +x ./CIBuild/osx/dependencies.sh; fi - if [ "$TRAVIS_OS_NAME" == "osx" ]; then chmod +x ./CIBuild/osx/fix_lib_paths.sh; fi - if [ "$TRAVIS_OS_NAME" == "osx" ]; then ./CIBuild/osx/dependencies.sh; fi - if [ "$TRAVIS_OS_NAME" == "linux" ]; then ./CIBuild/linux/dependencies.sh; fi - $CXX --version before_install: script: - mkdir build_qgears - cd build_qgears - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export OGRE_HOME=/Users/travis/build/q-gears/q-gears/OgreSDK; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export OGRE_SDK=/Users/travis/build/q-gears/q-gears/OgreSDK; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export OIS_HOME=/Users/travis/build/q-gears/q-gears/Dependencies; fi # Debug code coverage Linux build - if [[ "$TRAVIS_OS_NAME" == "linux" && "${COVERAGE}" == 1 ]]; then cmake -G"Unix Makefiles" .. -DCMAKE_BUILD_TYPE=Debug; fi # Release Linux build - if [[ "$TRAVIS_OS_NAME" == "linux" && "${COVERAGE}" != 1 ]]; then cmake -G"Unix Makefiles" .. -DCMAKE_BUILD_TYPE=Release; fi # Release OSX build - if [ "$TRAVIS_OS_NAME" == "osx" ]; then cmake -Wno-dev -G"Unix Makefiles" .. -DBOOST_ROOT=${PWD}/../boost/1.55.0_1 -DCMAKE_BUILD_TYPE=Release; fi # Do the compile - if [[ "${COVERITY_SCAN_BRANCH}" != 1 ]]; then make -j2; fi # Fix dylib paths on OSX to be relative to the main binary - if [[ "${COVERITY_SCAN_BRANCH}" != 1 && "$TRAVIS_OS_NAME" == "osx" ]]; then ../CIBuild/osx/fix_lib_paths.sh ./bin_release; fi # Run unit tests - if [[ "${COVERITY_SCAN_BRANCH}" != 1 ]]; then ctest --verbose; fi # Generate installers - if [[ "${COVERITY_SCAN_BRANCH}" != 1 && "${COVERAGE}" != 1 ]]; then cpack -C Release; fi language: cpp after_success: - if [[ "$CXX" == "g++" && "${COVERAGE}" == 1 && "$TRAVIS_OS_NAME" == "linux" ]]; then lcov --directory . --capture --output-file coverage.info; fi - if [[ "$CXX" == "g++" && "${COVERAGE}" == 1 && "$TRAVIS_OS_NAME" == "linux" ]]; then lcov --remove coverage.info '*/dependencies/*' '/usr/*' --output-file coverage.info; fi - if [[ "$CXX" == "g++" && "${COVERAGE}" == 1 && "$TRAVIS_OS_NAME" == "linux" ]]; then lcov --list coverage.info; fi - if [[ "$CXX" == "g++" && "${COVERAGE}" == 1 && "$TRAVIS_OS_NAME" == "linux" ]]; then coveralls-lcov coverage.info; fi - hash=`git rev-parse HEAD` - rm ~/.ssh/known_hosts - rm ~/.ssh/config - echo "-----BEGIN RSA PRIVATE KEY-----" > ~/.ssh/id_rsa - echo $KEY01 >> ~/.ssh/id_rsa - echo $KEY02 >> ~/.ssh/id_rsa - echo $KEY03 >> ~/.ssh/id_rsa - echo $KEY04 >> ~/.ssh/id_rsa - echo $KEY05 >> ~/.ssh/id_rsa - echo $KEY06 >> ~/.ssh/id_rsa - echo $KEY07 >> ~/.ssh/id_rsa - echo $KEY08 >> ~/.ssh/id_rsa - echo $KEY09 >> ~/.ssh/id_rsa - echo $KEY10 >> ~/.ssh/id_rsa - echo $KEY11 >> ~/.ssh/id_rsa - echo $KEY12 >> ~/.ssh/id_rsa - echo $KEY13 >> ~/.ssh/id_rsa - echo $KEY14 >> ~/.ssh/id_rsa - echo $KEY15 >> ~/.ssh/id_rsa - echo $KEY16 >> ~/.ssh/id_rsa - echo $KEY17 >> ~/.ssh/id_rsa - echo $KEY18 >> ~/.ssh/id_rsa - echo $KEY19 >> ~/.ssh/id_rsa - echo $KEY20 >> ~/.ssh/id_rsa - echo $KEY21 >> ~/.ssh/id_rsa - echo $KEY22 >> ~/.ssh/id_rsa - echo $KEY23 >> ~/.ssh/id_rsa - echo $KEY24 >> ~/.ssh/id_rsa - echo $KEY25 >> ~/.ssh/id_rsa - echo "-----END RSA PRIVATE KEY-----" >> ~/.ssh/id_rsa - chmod 400 ~/.ssh/id_rsa - chmod 700 ~/.ssh - md5sum ~/.ssh/id_rsa - if [[ "$TRAVIS_PULL_REQUEST" == 'false' && "${COVERITY_SCAN_BRANCH}" != 1 && "${COVERAGE}" != 1 && "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "g++" ]]; then ssh -o StrictHostKeyChecking=no paul@itscovarr.com mkdir -p /var/www/storage/qgears/$hash/linux/; fi - if [[ "$TRAVIS_PULL_REQUEST" == 'false' && "${COVERITY_SCAN_BRANCH}" != 1 && "${COVERAGE}" != 1 && "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "g++" ]]; then scp -o StrictHostKeyChecking=no ~/build/q-gears/q-gears/build_qgears/*.deb paul@itscovarr.com:/var/www/storage/qgears/$hash/linux/; fi - if [[ "$TRAVIS_PULL_REQUEST" == 'false' && "${COVERITY_SCAN_BRANCH}" != 1 && "${COVERAGE}" != 1 && "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "g++" ]]; then scp -o StrictHostKeyChecking=no ~/build/q-gears/q-gears/build_qgears/*.tar.gz paul@itscovarr.com:/var/www/storage/qgears/$hash/linux/; fi - if [[ "$TRAVIS_PULL_REQUEST" == 'false' && "${COVERITY_SCAN_BRANCH}" != 1 && "${COVERAGE}" != 1 && "$TRAVIS_OS_NAME" == "osx" ]]; then ssh -o StrictHostKeyChecking=no paul@itscovarr.com mkdir -p /var/www/storage/qgears/$hash/mac/; fi - if [[ "$TRAVIS_PULL_REQUEST" == 'false' && "${COVERITY_SCAN_BRANCH}" != 1 && "${COVERAGE}" != 1 && "$TRAVIS_OS_NAME" == "osx" ]]; then scp -o StrictHostKeyChecking=no ~/build/q-gears/q-gears/build_qgears/*.dmg paul@itscovarr.com:/var/www/storage/qgears/$hash/mac/; fi notifications: on_failure: always irc: irc.esper.net#qhimm.com on_success: change skip_join: true addons: coverity_scan: project: name: "q-gears/q-gears" description: "Build submitted via Travis CI" notification_email: coverityscan@paulsapps.com build_command_prepend: "mkdir qgears_build; cd qgears_build; cmake .. -DCMAKE_BUILD_TYPE=Release" build_command: "make -j4" branch_pattern: coverity_scan env: matrix: - COVERAGE=1 - COVERAGE=0 global: - secure: "PUtlviIMOxgXYfBiAW+tsDHQPq+XfftHy2Te1qFvkzkqfGtHQMiCM5an1tZW8LuuYLhuRo+piG+XsK5A8THW4At+hsQZFRPK4b952aHGTQNimTPFr3COccKOlGsLDJD+iKEBJbME1u/Kml9IvwVFBLoL6UtjEWPUJ3jVOitfnoA=" - secure: pc5w4v8EzEtKD+iSZaao9Qq7FoPz2a65cpubHQjD36IN7g4gNaUcv2i/9cgqWk8+au7jKbJg0lFnkXRA/ldzBd30xsXubKWSmvcKt2dQRNJkKVBWsKW2ZiAtID/uibu5kwxdGn1zi4uO+WXygmu/fWSvOkToq87NsGrQYGU+Ahs= - secure: fqca/ai9xM7M0TLcZHwr8YqWB2+/+k5Bg5D9C/gTaZQgQvvTbXRdI8LFUTgUYCHiFu/QphvzvXyVHPTVL1xB3xZIMC5G8Cqe2T+Zy+UprK0A8Fmxk/V/qTTMgigAevtCXeVYH7+I0M+LNZrz4oYYa6FRJY79OPv+T1QQ8FUGTqc= - secure: kbpP9dDfBy3n8uaEHw1ULJZDpNRosgb1wGGguuSgPGTKjnSyVeOTJHkQb48+scIcmRUdxb9xNtBHcC/W2xg0AW06oZMAegUjHQcIWO1J2s24IgXgizvXIiUlm2bVn53yqyYHTJ1DYN6KsWJt+E8c+fbszPfOzCs73i9pnnUt+1A= - secure: Vxsez9G9E7LfM3AYJ9X/tdhUJdyF2Joy67HvFtPo1HM8C+pTa2NOvs3w3rwhEowcWcMXUzLC26c2S6nqpcCK7SMD1CkIiNdBGAjh5wbjj0/36ATYJfqJ3cv8w+wtsfS7zbZEdf7qay7k+zSAXOu1Mdu4IFWrcy/175iyRvXaNRg= - secure: FjdNNoLJgnqopNBrvoLUTRd+kpGPfl6BX4ZSvFDBg5m2DGV6gRuNHDLB2xfJvjtnXC+nYbYgtvM/MZb527pLYzy6aPdmUlLWJKIVsjmL6KY8QHwscgI2uDAvJ/MkcV7xvz5z1vfUfhVQvTAdvZsAeQwP9dxOTQOinzAswh01ZXI= - secure: IIdpI5s5ea6fJS8NJii6JEDsJPefzDr8ASJBOCeGcWb258RUhlBj++P7pM3q1qwHtFe1oZ1u0wbrhB7ibU9u5v6KqicsYiS1JrczIvoh2w/aVH8myfAoDQV+Zohr3unFazf7y/dIIGo5qHcPFp4QbIeZ47/mBo9gehSXbKDZlpI= - secure: bhRdtWUUGgUV/OTTwFiLSpCXB/4xTCx0Vq/fbZ0VzpiQNbeMhH7Ihee0stJ34+/htnTOz2xK0uSAVpqEFwGCCzHhaHpFiszPcL7T2Dg4FWDEjRwT91zn4LlgAW56beXJpupPlxTpmZQg6/ERmwThqbCoXuV3JZ7fAHpDxoALM1g= - secure: eTnHo1K4b0v1FnB6SrqYC9Aw3Cd9nGCKSwHpTedocqrrjIjRmIc0V2euCAELjMN3qgK1DkuDJKE685A9enUz1xsYUWOC2gTPvYCm3W25SpLbJazYpS9v0EyBZXW6G9E7Iz8mb0m2Lw3UGZ3wvQqbMDIQtW10Kb1OosssfElox3Y= - secure: pDsmHjkohOQMtNu3h1q8Gfxe4FfSFoZudNY0Yv5TmCHPl9TQSX6nbvfrOqtBzONWouDuwIblwBpHOBYBZJsNvKza2up7qfZ1JXg+zq1SuCY3dh8so2WBlcwQf4TokM6HMUB0NpvMBE8J7wfqYM2weIslKDJE7S8LjDrUsBqFx3U= - secure: jfKbAJ9p32WsxP/WKt3tfJadNRTPxPFVs7gpyWHxaUIBHWT4eldqF2mM0/fIKsODcRLO2iFZlIC3xJ+v/I7SzDAXyCQu+Wi+8k6DJdesOVSLW8fjUzS5vAmvuaKL0XZYwJUJVpzy8phmaS1swL+R/GUbHPjmspkm8eyN2ZXMbvI= - secure: GeFOhQ6WF2rAA83SBJm+CA0RBeXKCVR50y2IlNfRbnBlFR2nAR8ZiOMv8N12WanGc777Wu29SXhr2TGgjwQWbTKUN4OO7ZOZimb/FufwqcqJke2RqIHF/uJl2NJqhSGdTe1wYMBZKubwgmz1B9KC9h/89iCtrD02qtZHE7qSSFs= - secure: LE8JaorkdYXBmdovN42EkU4Kht2hPxF8XhH0+N+aG5Dog1PMrH8mi44naFYWEwiCmJpLlfUadrzQYJFx3iz59smziO1Sq798B41TuzkC9YuS0EzVZCgxTu1da9mkYga8FY3nCIBe0olIHcAhz88qMGLGPeblRmlQw4W/WJDN9JI= - secure: UX0Prs5JaTo/udYhwp3XS1End+1fwURwm0+FEfbEGcM/hLtA8K5we/miT6+fWFoyIlLFxKbZqzkc3zOXT5fBMTN70JBnPpig9nEaTRTyX9ZRt3aNDKTREpUinXVLbS1GDRPz3+/UALyhyS9J57pPGyHYMygLA+4ldsDIbyqd6W8= - secure: SYxqLMdBCv0eqQ7GmGu6jDTa3uP3ZJKxg2mttjlRmHu8ynlCI/iJCd17Sa/snds4rDFEekmHy/NGlsh258Kdo6y0DR5Upobin0ogjchmDtC7qjqRMbiDjmUnaY9s6Krg8B+FXgKHXKimSQbl7z6vSISxf/o1AGRPqOKeqGB0yzM= - secure: QJMo4Ai/j9fFC3HsX3FvZG43qovrjn/enXuC3+MrBIZuZ1AqZtLUg482jIC1TGLgV6u1YPU6REgd1b/rbc1U6EZjxVQz2YRT39LhT9wfYh7XVYdRc1IjggLQRVZ7POb1QfPFL1AJO0enPfevN3Zl0kYIOh/WEvhIq1JeuG3tuaQ= - secure: IS0n9WbkPcAnWB/nsUCY2boBaRECNJHSUAeJ0oUqCJ6sUKeMi76q/DO3YmVRs4T/gh9rhe/qVhToPjfauiowFYRb4Rnuk4qbXuxKMUzbhd8v9fyM/JyU3Wt40xVK3gTgZTipUjWxp57MF4lr36MYelJ9f3VNtd7TYsgRNn0faoE= - secure: d+7dyvidKn9i5n7BJfibes6dpE4dlzjZRnw6AmVFwxVFfbpgMHyZvIDA7WTfzYXfjnfQ+qWHDS/7+pLjWOWfz3z0Pp0W6P5j9xckQKA/f2yTSEAgYtBJkkXRS/iYnnAHACFy1LU05pnD9xUH8gaMyFZyU7mDCT+ktu7ueNmBY4g= - secure: V+T/3nvn248auq15/ef7xUNBtgoJvJXxzRoT0VW6vZswsunDkMAPaJfpbnJU4IvxbsuRVskyr3mcUUa7Ufm8N0ibzeu4eTgmrydDU8W9LfQsPwIoVs3PM1ylW/rH0FRZWoGB6zWpSzpBG3hYSnqVN5DKLFEZprPQiRoMSR4NEto= - secure: NE7CFzd7fmdNQGtAdUkNb1p/T3anKMdEVyMT0GUV4PzEEB145vq6ndXnNqslARgA7ZHqL+65Ah/NB51UDkCgbxcb3exweTi6fmZ9zd4S2ygoTVfMfmoyHyMn1kCIrPkM1E7E6EMIqRFEM6C0b8KPogN0aEuXpPuNmQ6ZaG1WkzU= - secure: ZGXYi082K0calf9fNL5A+Hq8FY16VKIlA++hk76vJpcqRK2bkEB3qiFKXGCTsMNmV04qQ9t+rF/O0Qt1folyP7B5AXpTbpV63pXe4v0HPXJ7yA2Iyqo9uyXmd7ylBqdwNZvXxrDqdRp4S9dS7YFjGm0LwKNVJmWSjZPhLueKUlM= - secure: DYk5JUgr23giSS1wLktj0dLA2zYBJlgBkeETUZyBdFFkXiep3q91kcxjcy/MTZX/w8zuQHezNFUadBskmGdFQTZSnHgqnvgdtAav+mgD/ezHqRdIVNAuUWk/jX4M8FLzWqfJO59CbJs4fHkR6UsG4r4HMzc3LyyiyZfn0ajgZQ0= - secure: N5MdYyZ61eafm4rWGG437phkGY7MezIy3tD+f0f5X4fC4FnxkPJ5WNuHsBk3m0RGlzTZMq1JrSMWYmbq0WN3BozaZNSAhuI4IRZoOjNshcaZo/K8J/VipxMOwalyjCry2RRmGOLvRdcGYJwLHgSIzxBS0GedrGC0XDoHHrz7/W8= - secure: brRxgShHzgYK73CHCJlkXds1cCt8ufN4Q98TW4iNVqH8Iu9cctGTfAsc97OSLB5UupvuTOhs1ADn5XU7ZXQvxm83W0Q06vrcR/3irgmFJtBQGBjrbdoAi/BhRF6/DYZ7TZOMrl4JRncAhZhCXRFKYO3NytF/yk6PnM128Fu7pVM= - secure: AefxGPUU9X2+2OjZ2C04Zy0cII+3BuVD9YTc9kgLpCDwtIrd4WXWEBTnZFX2cd6QxS+AgMHXJJTlsKY4Lv9C+PonLUZch9qV8o2ttDidb3xkcvKtH8UPGbOPkQfOwc02csVfV311psXY7lEYPSHIxbYswQ2MaV+l0O922R7xxog= - secure: NnCbqOSir3CDK1cqHkQ28u6xzWKWCmDffoeKaB6OMyAmdOaYnP0Imw/h4QGDP6+yw6tyZ7jVWSmbjQzIwYFviVMl27e9fJlcS7UoKeT1Q/2qFfQNIY0CAmTYaQWElN9UYqZxdKwQH1AuhQxiEZWDZEP9KEJ6ypcRsC6zzz9oe9k=