diff --git a/.travis.sh b/.travis.sh index 1ab1ee2b1..f4ef271e4 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 [ "$DISABLE_EXPORTERS" = "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 diff --git a/.travis.yml b/.travis.yml index 2eab656cc..3ffa63176 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,33 +36,19 @@ 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 - env: LINUX=1 TRAVIS_NO_EXPORT=YES ENABLE_COVERALLS=ON ASAN=OFF + env: DISABLE_EXPORTERS=YES ENABLE_COVERALLS=ON - os: linux compiler: gcc - env: LINUX=1 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 - - os: linux - compiler: gcc - env: LINUX=1 SHARED_BUILD=ON TRAVIS_NO_EXPORT=NO ENABLE_COVERALLS=OFF ASAN=OFF + env: SHARED_BUILD=ON - os: linux compiler: clang - env: LINUX=1 TRAVIS_NO_EXPORT=NO ENABLE_COVERALLS=OFF ASAN=ON + env: 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 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 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()