From 530176825670851b91a27c847e39b82ea4c7b8c8 Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Sat, 7 Oct 2017 14:33:34 +0300 Subject: [PATCH 01/10] Travis: Remove unused LINUX env variable --- .travis.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2eab656cc..62ba41606 100644 --- a/.travis.yml +++ b/.travis.yml @@ -47,22 +47,22 @@ matrix: include: - os: linux compiler: gcc - env: LINUX=1 TRAVIS_NO_EXPORT=YES ENABLE_COVERALLS=ON ASAN=OFF + env: TRAVIS_NO_EXPORT=YES ENABLE_COVERALLS=ON ASAN=OFF - os: linux compiler: gcc - env: LINUX=1 TRAVIS_NO_EXPORT=NO ENABLE_COVERALLS=OFF ASAN=ON + env: TRAVIS_NO_EXPORT=NO ENABLE_COVERALLS=OFF ASAN=ON - os: linux compiler: gcc - env: LINUX=1 SHARED_BUILD=ON TRAVIS_NO_EXPORT=NO ENABLE_COVERALLS=OFF ASAN=OFF + env: SHARED_BUILD=ON TRAVIS_NO_EXPORT=NO ENABLE_COVERALLS=OFF ASAN=OFF - os: linux compiler: gcc - env: LINUX=1 SHARED_BUILD=ON TRAVIS_NO_EXPORT=NO ENABLE_COVERALLS=OFF ASAN=OFF + env: SHARED_BUILD=ON TRAVIS_NO_EXPORT=NO ENABLE_COVERALLS=OFF ASAN=OFF - os: linux compiler: clang - env: LINUX=1 TRAVIS_NO_EXPORT=NO ENABLE_COVERALLS=OFF ASAN=ON + env: TRAVIS_NO_EXPORT=NO ENABLE_COVERALLS=OFF ASAN=ON - os: linux compiler: clang - env: LINUX=1 SHARED_BUILD=ON TRAVIS_NO_EXPORT=NO ENABLE_COVERALLS=OFF ASAN=OFF + env: SHARED_BUILD=ON TRAVIS_NO_EXPORT=NO ENABLE_COVERALLS=OFF ASAN=OFF install: - if [ $ANDROID ]; then wget -c http://dl.google.com/android/ndk/android-ndk-${PV}-${PLATF}.tar.bz2 && tar xf android-ndk-${PV}-${PLATF}.tar.bz2 ; fi From 54d14e6e3b92c6b8dbfe9ab0a6002af7a52ac995 Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Sat, 7 Oct 2017 14:47:52 +0300 Subject: [PATCH 02/10] Travis: Refactor how we build CMake options --- .travis.sh | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/.travis.sh b/.travis.sh index 1ab1ee2b1..1c7c4e13e 100755 --- a/.travis.sh +++ b/.travis.sh @@ -1,6 +1,32 @@ function generate() { - cmake -G "Unix Makefiles" -DASSIMP_NO_EXPORT=$TRAVIS_NO_EXPORT -DBUILD_SHARED_LIBS=$SHARED_BUILD -DASSIMP_COVERALLS=$ENABLE_COVERALLS -DASSIMP_WERROR=ON -DASSIMP_ASAN=$ASAN + OPTIONS="-DASSIMP_WERROR=ON" + + if [ "$TRAVIS_NO_EXPORT" = "YES" ] ; then + OPTIONS="$OPTIONS -DASSIMP_NO_EXPORT=YES" + else + OPTIONS="$OPTIONS -DASSIMP_NO_EXPORT=NO" + fi + + if [ "$SHARED_BUILD" = "ON" ] ; then + OPTIONS="$OPTIONS -DBUILD_SHARED_LIBS=ON" + else + OPTIONS="$OPTIONS -DBUILD_SHARED_LIBS=OFF" + fi + + if [ "$ENABLE_COVERALLS" = "ON" ] ; then + OPTIONS="$OPTIONS -DASSIMP_COVERALLS=ON" + else + OPTIONS="$OPTIONS -DASSIMP_COVERALLS=OFF" + fi + + if [ "$ASAN" = "ON" ] ; then + OPTIONS="$OPTIONS -DASSIMP_ASAN=ON" + else + OPTIONS="$OPTIONS -DASSIMP_ASAN=OFF" + fi + + cmake -G "Unix Makefiles" $OPTIONS } if [ $ANDROID ]; then From 42142105fa6f4142160d3df42f2200614ed90b76 Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Sat, 7 Oct 2017 14:59:12 +0300 Subject: [PATCH 03/10] CMake: Be more verbose about enabled options --- CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0aae76837..c30278b7f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -108,7 +108,10 @@ IF(MSVC) ENDIF(MSVC) IF(NOT BUILD_SHARED_LIBS) + MESSAGE(STATUS "Shared libraries disabled") SET(LINK_SEARCH_START_STATIC TRUE) +ELSE() + MESSAGE(STATUS "Shared libraries enabled") ENDIF(NOT BUILD_SHARED_LIBS) # Define here the needed parameters @@ -209,12 +212,14 @@ ELSEIF( CMAKE_COMPILER_IS_MINGW ) ENDIF() if (ASSIMP_COVERALLS) + MESSAGE(STATUS "Coveralls enabled") INCLUDE(Coveralls) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage") endif() if (ASSIMP_WERROR) + MESSAGE(STATUS "Treating warnings as errors") IF (MSVC) add_compile_options(/WX) ELSE() @@ -224,6 +229,7 @@ if (ASSIMP_WERROR) endif() if (ASSIMP_ASAN) + MESSAGE(STATUS "AddressSanitizer enabled") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address") endif() From 7037fdfe2c1edb62f10d6609b5f996d083b91841 Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Sat, 7 Oct 2017 15:06:46 +0300 Subject: [PATCH 04/10] Travis: ASAN is now implicitly off, disable explicit off --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 62ba41606..47d9309b6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -47,22 +47,22 @@ matrix: include: - os: linux compiler: gcc - env: TRAVIS_NO_EXPORT=YES ENABLE_COVERALLS=ON ASAN=OFF + env: TRAVIS_NO_EXPORT=YES ENABLE_COVERALLS=ON - os: linux compiler: gcc env: TRAVIS_NO_EXPORT=NO ENABLE_COVERALLS=OFF ASAN=ON - os: linux compiler: gcc - env: SHARED_BUILD=ON TRAVIS_NO_EXPORT=NO ENABLE_COVERALLS=OFF ASAN=OFF + env: SHARED_BUILD=ON TRAVIS_NO_EXPORT=NO ENABLE_COVERALLS=OFF - os: linux compiler: gcc - env: SHARED_BUILD=ON TRAVIS_NO_EXPORT=NO ENABLE_COVERALLS=OFF ASAN=OFF + env: SHARED_BUILD=ON TRAVIS_NO_EXPORT=NO ENABLE_COVERALLS=OFF - os: linux compiler: clang env: TRAVIS_NO_EXPORT=NO ENABLE_COVERALLS=OFF ASAN=ON - os: linux compiler: clang - env: SHARED_BUILD=ON TRAVIS_NO_EXPORT=NO ENABLE_COVERALLS=OFF ASAN=OFF + env: SHARED_BUILD=ON TRAVIS_NO_EXPORT=NO ENABLE_COVERALLS=OFF install: - if [ $ANDROID ]; then wget -c http://dl.google.com/android/ndk/android-ndk-${PV}-${PLATF}.tar.bz2 && tar xf android-ndk-${PV}-${PLATF}.tar.bz2 ; fi From ea58801a2dfdb922c3186a14d701c88544846072 Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Sat, 7 Oct 2017 15:08:02 +0300 Subject: [PATCH 05/10] Travis: ENABLE_COVERALLS is now implicitly off, disable explicit off --- .travis.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 47d9309b6..e7c02101d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -50,19 +50,19 @@ matrix: env: TRAVIS_NO_EXPORT=YES ENABLE_COVERALLS=ON - os: linux compiler: gcc - env: TRAVIS_NO_EXPORT=NO ENABLE_COVERALLS=OFF ASAN=ON + env: TRAVIS_NO_EXPORT=NO ASAN=ON - os: linux compiler: gcc - env: SHARED_BUILD=ON TRAVIS_NO_EXPORT=NO ENABLE_COVERALLS=OFF + env: SHARED_BUILD=ON TRAVIS_NO_EXPORT=NO - os: linux compiler: gcc - env: SHARED_BUILD=ON TRAVIS_NO_EXPORT=NO ENABLE_COVERALLS=OFF + env: SHARED_BUILD=ON TRAVIS_NO_EXPORT=NO - os: linux compiler: clang - env: TRAVIS_NO_EXPORT=NO ENABLE_COVERALLS=OFF ASAN=ON + env: TRAVIS_NO_EXPORT=NO ASAN=ON - os: linux compiler: clang - env: SHARED_BUILD=ON TRAVIS_NO_EXPORT=NO ENABLE_COVERALLS=OFF + env: SHARED_BUILD=ON TRAVIS_NO_EXPORT=NO install: - if [ $ANDROID ]; then wget -c http://dl.google.com/android/ndk/android-ndk-${PV}-${PLATF}.tar.bz2 && tar xf android-ndk-${PV}-${PLATF}.tar.bz2 ; fi From f2cf8bf075d29f0abe175bccba39ec8542bbc79b Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Sat, 7 Oct 2017 15:08:41 +0300 Subject: [PATCH 06/10] Travis: Disable GCC AddressSanitizer build, Clang AddressSanitizer is strictly better --- .travis.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index e7c02101d..8787d3765 100644 --- a/.travis.yml +++ b/.travis.yml @@ -48,9 +48,6 @@ matrix: - os: linux compiler: gcc env: TRAVIS_NO_EXPORT=YES ENABLE_COVERALLS=ON - - os: linux - compiler: gcc - env: TRAVIS_NO_EXPORT=NO ASAN=ON - os: linux compiler: gcc env: SHARED_BUILD=ON TRAVIS_NO_EXPORT=NO From 69b8c1f60d9df235573cee84ee5d551f92e37a9c Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Sat, 7 Oct 2017 15:36:54 +0300 Subject: [PATCH 07/10] Travis: TRAVIS_NO_EXPORT is now implicitly off, disable explicit off --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8787d3765..8c9736ef8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -50,16 +50,16 @@ matrix: env: TRAVIS_NO_EXPORT=YES ENABLE_COVERALLS=ON - os: linux compiler: gcc - env: SHARED_BUILD=ON TRAVIS_NO_EXPORT=NO + env: SHARED_BUILD=ON - os: linux compiler: gcc - env: SHARED_BUILD=ON TRAVIS_NO_EXPORT=NO + env: SHARED_BUILD=ON - os: linux compiler: clang - env: TRAVIS_NO_EXPORT=NO ASAN=ON + env: ASAN=ON - os: linux compiler: clang - env: SHARED_BUILD=ON TRAVIS_NO_EXPORT=NO + env: SHARED_BUILD=ON install: - if [ $ANDROID ]; then wget -c http://dl.google.com/android/ndk/android-ndk-${PV}-${PLATF}.tar.bz2 && tar xf android-ndk-${PV}-${PLATF}.tar.bz2 ; fi From bd65811329b3685674127877fece1fa5e4648c55 Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Sat, 7 Oct 2017 15:37:45 +0300 Subject: [PATCH 08/10] Travis: Rename TRAVIS_NO_EXPORT to DISABLE_EXPORTERS so its meaning is more obvious --- .travis.sh | 2 +- .travis.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.sh b/.travis.sh index 1c7c4e13e..f4ef271e4 100755 --- a/.travis.sh +++ b/.travis.sh @@ -2,7 +2,7 @@ function generate() { OPTIONS="-DASSIMP_WERROR=ON" - if [ "$TRAVIS_NO_EXPORT" = "YES" ] ; then + if [ "$DISABLE_EXPORTERS" = "YES" ] ; then OPTIONS="$OPTIONS -DASSIMP_NO_EXPORT=YES" else OPTIONS="$OPTIONS -DASSIMP_NO_EXPORT=NO" diff --git a/.travis.yml b/.travis.yml index 8c9736ef8..b43894525 100644 --- a/.travis.yml +++ b/.travis.yml @@ -47,7 +47,7 @@ matrix: include: - os: linux compiler: gcc - env: TRAVIS_NO_EXPORT=YES ENABLE_COVERALLS=ON + env: DISABLE_EXPORTERS=YES ENABLE_COVERALLS=ON - os: linux compiler: gcc env: SHARED_BUILD=ON From 684cb88e830c79c434fc472470af847ed43e1d9c Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Sat, 7 Oct 2017 15:39:54 +0300 Subject: [PATCH 09/10] Travis: Remove redundant config --- .travis.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index b43894525..5f6d1a233 100644 --- a/.travis.yml +++ b/.travis.yml @@ -51,9 +51,6 @@ matrix: - os: linux compiler: gcc env: SHARED_BUILD=ON - - os: linux - compiler: gcc - env: SHARED_BUILD=ON - os: linux compiler: clang env: ASAN=ON From 10b49dfd2543404c7c0b6ceab6287b8ac2b73538 Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Sat, 7 Oct 2017 15:41:16 +0300 Subject: [PATCH 10/10] Travis: Remove old attempt at disabling default configurations This didn't actually work and now the default configurations are important. --- .travis.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5f6d1a233..3ffa63176 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,14 +36,6 @@ env: - PV=r8e PLATF=linux-x86_64 NDK_HOME=${TRAVIS_BUILD_DIR}/android-ndk-${PV} PATH=${PATH}:${NDK_HOME} matrix: - exclude: - - os: linux - compiler: gcc - env: - - os: linux - compiler: clang - env: - include: - os: linux compiler: gcc