.travis.yml: add a configuration to test compilation of AVX2 (but disable tests since Travis doesn't have AVX2 compatible machines)
This commit is contained in:
parent
fd0dc535ad
commit
4fe7620d4a
34
.travis.yml
34
.travis.yml
|
@ -2,9 +2,12 @@ language: cpp
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
|
# OSX
|
||||||
- os: osx
|
- os: osx
|
||||||
compiler: clang
|
compiler: clang
|
||||||
env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release OPJ_CI_INCLUDE_IF_DEPLOY=1
|
env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release OPJ_CI_INCLUDE_IF_DEPLOY=1
|
||||||
|
|
||||||
|
# Test code style
|
||||||
- os: linux
|
- os: linux
|
||||||
compiler: clang-3.8
|
compiler: clang-3.8
|
||||||
env: OPJ_CI_CC=clang-3.8 OPJ_CI_CXX=clang-3.8 OPJ_CI_CHECK_STYLE=1 OPJ_CI_SKIP_TESTS=1
|
env: OPJ_CI_CC=clang-3.8 OPJ_CI_CXX=clang-3.8 OPJ_CI_CHECK_STYLE=1 OPJ_CI_SKIP_TESTS=1
|
||||||
|
@ -16,12 +19,31 @@ matrix:
|
||||||
packages:
|
packages:
|
||||||
- clang-3.8
|
- clang-3.8
|
||||||
- flip
|
- flip
|
||||||
|
|
||||||
|
# Performance test with GCC
|
||||||
- os: linux
|
- os: linux
|
||||||
compiler: g++
|
compiler: g++
|
||||||
env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release OPJ_CI_INCLUDE_IF_DEPLOY=1 OPJ_CI_PERF_TESTS=1
|
env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release OPJ_CI_INCLUDE_IF_DEPLOY=1 OPJ_CI_PERF_TESTS=1
|
||||||
|
|
||||||
|
# Test compilation with AVX2
|
||||||
|
- os: linux
|
||||||
|
compiler: clang-3.8
|
||||||
|
# skip tests since Travis doesn't have AVX2 compatible machines
|
||||||
|
env: OPJ_CI_CC=clang-3.8 OPJ_CI_CXX=clang-3.8 OPJ_CI_INSTRUCTION_SETS="-mavx2" OPJ_CI_BUILD_CONFIGURATION=Release OPJ_CI_SKIP_TESTS=1
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources:
|
||||||
|
- llvm-toolchain-precise-3.8
|
||||||
|
- ubuntu-toolchain-r-test
|
||||||
|
packages:
|
||||||
|
- clang-3.8
|
||||||
|
|
||||||
|
# Test multi-threading
|
||||||
- os: linux
|
- os: linux
|
||||||
compiler: g++
|
compiler: g++
|
||||||
env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release OPJ_NUM_THREADS=2
|
env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release OPJ_NUM_THREADS=2
|
||||||
|
|
||||||
|
# Test 32-bit compilation
|
||||||
- os: linux
|
- os: linux
|
||||||
compiler: g++
|
compiler: g++
|
||||||
env: OPJ_CI_ARCH=i386 OPJ_CI_BUILD_CONFIGURATION=Release
|
env: OPJ_CI_ARCH=i386 OPJ_CI_BUILD_CONFIGURATION=Release
|
||||||
|
@ -30,6 +52,8 @@ matrix:
|
||||||
packages:
|
packages:
|
||||||
- gcc-multilib
|
- gcc-multilib
|
||||||
- g++-multilib
|
- g++-multilib
|
||||||
|
|
||||||
|
# Profile code (gcc -pg)
|
||||||
- os: linux
|
- os: linux
|
||||||
compiler: g++
|
compiler: g++
|
||||||
env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Debug OPJ_CI_PROFILE=1
|
env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Debug OPJ_CI_PROFILE=1
|
||||||
|
@ -37,9 +61,13 @@ matrix:
|
||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
- valgrind
|
- valgrind
|
||||||
|
|
||||||
|
# Test under ASAN
|
||||||
- os: linux
|
- os: linux
|
||||||
compiler: clang
|
compiler: clang
|
||||||
env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Debug OPJ_CI_ASAN=1
|
env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Debug OPJ_CI_ASAN=1
|
||||||
|
|
||||||
|
# Test with CLang 3.8
|
||||||
- os: linux
|
- os: linux
|
||||||
compiler: clang-3.8
|
compiler: clang-3.8
|
||||||
env: OPJ_CI_CC=clang-3.8 OPJ_CI_CXX=clang-3.8 OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release OPJ_CI_PERF_TESTS=1
|
env: OPJ_CI_CC=clang-3.8 OPJ_CI_CXX=clang-3.8 OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release OPJ_CI_PERF_TESTS=1
|
||||||
|
@ -50,6 +78,8 @@ matrix:
|
||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
packages:
|
packages:
|
||||||
- clang-3.8
|
- clang-3.8
|
||||||
|
|
||||||
|
# Test with mingw 32 bit
|
||||||
- os: linux
|
- os: linux
|
||||||
compiler: x86_64-w64-mingw32-g++
|
compiler: x86_64-w64-mingw32-g++
|
||||||
env: OPJ_CI_CC=x86_64-w64-mingw32-gcc OPJ_CI_CXX=x86_64-w64-mingw32-g++ OPJ_CI_ARCH=i386 OPJ_CI_BUILD_CONFIGURATION=Release
|
env: OPJ_CI_CC=x86_64-w64-mingw32-gcc OPJ_CI_CXX=x86_64-w64-mingw32-g++ OPJ_CI_ARCH=i386 OPJ_CI_BUILD_CONFIGURATION=Release
|
||||||
|
@ -63,6 +93,8 @@ matrix:
|
||||||
- g++-mingw-w64-i686
|
- g++-mingw-w64-i686
|
||||||
- gcc-multilib
|
- gcc-multilib
|
||||||
- g++-multilib
|
- g++-multilib
|
||||||
|
|
||||||
|
# Test with mingw 64 bit
|
||||||
- os: linux
|
- os: linux
|
||||||
compiler: x86_64-w64-mingw32-g++
|
compiler: x86_64-w64-mingw32-g++
|
||||||
env: OPJ_CI_CC=x86_64-w64-mingw32-gcc OPJ_CI_CXX=x86_64-w64-mingw32-g++ OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release
|
env: OPJ_CI_CC=x86_64-w64-mingw32-gcc OPJ_CI_CXX=x86_64-w64-mingw32-g++ OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release
|
||||||
|
@ -74,6 +106,8 @@ matrix:
|
||||||
- gcc-mingw-w64-x86-64
|
- gcc-mingw-w64-x86-64
|
||||||
- gcc-mingw-w64
|
- gcc-mingw-w64
|
||||||
- g++-mingw-w64-x86-64
|
- g++-mingw-w64-x86-64
|
||||||
|
|
||||||
|
# Test with gcc 4.8
|
||||||
- os: linux
|
- os: linux
|
||||||
compiler: g++-4.8
|
compiler: g++-4.8
|
||||||
env: OPJ_CI_CC=gcc-4.8 OPJ_CI_CXX=g++-4.8 OPJ_CI_ABI_CHECK=1
|
env: OPJ_CI_CC=gcc-4.8 OPJ_CI_CXX=g++-4.8 OPJ_CI_ABI_CHECK=1
|
||||||
|
|
|
@ -53,6 +53,11 @@ if (NOT "$ENV{OPJ_CI_ARCH}" STREQUAL "")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if (NOT "$ENV{OPJ_CI_INSTRUCTION_SETS}" STREQUAL "")
|
||||||
|
set(CCFLAGS_ARCH "${CCFLAGS_ARCH} $ENV{OPJ_CI_INSTRUCTION_SETS}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
if ("$ENV{OPJ_CI_ASAN}" STREQUAL "1")
|
if ("$ENV{OPJ_CI_ASAN}" STREQUAL "1")
|
||||||
set(OPJ_HAS_MEMCHECK TRUE)
|
set(OPJ_HAS_MEMCHECK TRUE)
|
||||||
set(CTEST_MEMORYCHECK_TYPE "AddressSanitizer")
|
set(CTEST_MEMORYCHECK_TYPE "AddressSanitizer")
|
||||||
|
|
Loading…
Reference in New Issue