[A] Added builds for different gcc versions

This commit is contained in:
seleznevae 2018-03-18 19:27:09 +03:00
parent 5821ae7c39
commit 2b5a2f3fa0
2 changed files with 71 additions and 11 deletions

View File

@ -4,7 +4,6 @@ matrix:
- os: linux - os: linux
sudo: false sudo: false
compiler: gcc compiler: gcc
env: FORT_COMPILER=gcc
before_script: before_script:
- pip install --user cpp-coveralls - pip install --user cpp-coveralls
after_success: after_success:
@ -12,13 +11,66 @@ matrix:
- os: linux - os: linux
sudo: required # to prevent fail of executables build with clang and sanitizers sudo: required # to prevent fail of executables build with clang and sanitizers
compiler: clang compiler: clang
env: FORT_COMPILER=clang env: CC=clang
# Linux / GCC
- os: linux
sudo: false
compiler: gcc
env:
- FORT_C_COMPILER=gcc-4.9
- FORT_CXX_COMPILER=g++-4.9
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-4.9']
- os: linux
sudo: false
compiler: gcc
env:
- FORT_C_COMPILER=gcc-5
- FORT_CXX_COMPILER=g++-5
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-5']
- os: linux
sudo: false
compiler: gcc
env:
- FORT_C_COMPILER=gcc-6
- FORT_CXX_COMPILER=g++-6
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-6']
- os: linux
sudo: required
compiler: gcc
env:
- FORT_C_COMPILER=gcc-7
- FORT_CXX_COMPILER=g++-7
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-7']
script: script:
# make sure CC is correctly set
- if [[ "${FORT_C_COMPILER}" != "" ]];
then
export CC=${FORT_C_COMPILER};
export CXX=${FORT_CXX_COMPILER};
fi
# Print all environment variables to aid in CI development # Print all environment variables to aid in CI development
- printenv - printenv
# Print version and available CMake generators to aid in CI development # Print version and available CMake generators to aid in CI development
@ -35,17 +87,20 @@ script:
- ./libfort_test - ./libfort_test
# Test build without optimizations and with ubsan # Test build without optimizations and with ubsan
- cd .. - if [ "${CC}" == 'gcc-7' ];
- rm -r build/* then
- cd build cd .. ;
- cmake .. -DFORT_BUILD_TYPE=ubsan rm -r build/* ;
- cmake --build . --target all cd build ;
- ls cmake .. -DFORT_BUILD_TYPE=ubsan ;
- ./libfort_example cmake --build . --target all ;
- ./libfort_test ls ;
./libfort_example ;
./libfort_test ;
fi
# Build for coveralls # Build for coveralls
- if [ ${FORT_COMPILER} == 'gcc' ]; - if [ "${CC}" == 'gcc' ];
then then
cd .. ; cd .. ;
rm -r build/* ; rm -r build/* ;

View File

@ -108,6 +108,11 @@ if(FORT_COMPILER STREQUAL "GNU" OR FORT_COMPILER STREQUAL "Clang")
endif(FORT_COMPILER STREQUAL "GNU" OR FORT_COMPILER STREQUAL "Clang") endif(FORT_COMPILER STREQUAL "GNU" OR FORT_COMPILER STREQUAL "Clang")
# Hack for some gcc versions
if(FORT_COMPILER STREQUAL "GNU")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fuse-ld=gold")
endif(FORT_COMPILER STREQUAL "GNU")
# Coveralls support # Coveralls support
#if(FORT_COVERALLS_BUILD) #if(FORT_COVERALLS_BUILD)
# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -fprofile-arcs -ftest-coverage") # set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -fprofile-arcs -ftest-coverage")