merge clang and gcc build into one matrix
This commit is contained in:
@@ -21,6 +21,7 @@ phases:
|
||||
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 100
|
||||
sudo update-alternatives --set c++ /usr/bin/clang++
|
||||
|
||||
|
||||
displayName: 'Install Build Dependencies'
|
||||
|
||||
- task: CMake@1
|
||||
@@ -49,57 +50,26 @@ phases:
|
||||
- phase: Linux
|
||||
queue:
|
||||
name: 'Hosted Ubuntu 1604'
|
||||
parallel: 2
|
||||
parallel: 4
|
||||
matrix:
|
||||
Debug:
|
||||
Clang_6 Debug:
|
||||
CC: clang-6.0
|
||||
CXX: clang++-6.0
|
||||
BuildType: Debug
|
||||
Release:
|
||||
|
||||
Clang_6 Release:
|
||||
CC: clang-6.0
|
||||
CXX: clang++-6.0
|
||||
BuildType: Release
|
||||
|
||||
steps:
|
||||
- script: |
|
||||
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y ninja-build libc++-dev libc++abi-dev libc++abi1 libstdc++-7-dev
|
||||
# sudo apt-get install clang-6.0 clang++-6.0
|
||||
|
||||
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-6.0 100
|
||||
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100
|
||||
sudo update-alternatives --set cc /usr/bin/clang
|
||||
|
||||
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-6.0 100
|
||||
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 100
|
||||
sudo update-alternatives --set c++ /usr/bin/clang++
|
||||
|
||||
displayName: 'Install Build Dependencies'
|
||||
|
||||
- task: CMake@1
|
||||
displayName: 'CMake .. -GNinja -DCMAKE_BUILD_TYPE=$(BuildType) -DCMAKE_CXX_FLAGS="-stdlib=libstdc++ -std=c++17"'
|
||||
inputs:
|
||||
cmakeArgs: '.. -GNinja -DCMAKE_BUILD_TYPE=$(BuildType) -DCMAKE_CXX_FLAGS="-stdlib=libstdc++ -std=c++17"'
|
||||
|
||||
- script: |
|
||||
ninja
|
||||
|
||||
workingDirectory: build
|
||||
failOnStderr: true
|
||||
displayName: 'Compile'
|
||||
|
||||
- script: |
|
||||
ctest -j 4 --output-on-failure -C $(BuildType)
|
||||
|
||||
workingDirectory: build
|
||||
failOnStderr: true
|
||||
displayName: 'Test'
|
||||
|
||||
- phase: LinuxGCC
|
||||
queue:
|
||||
name: 'Hosted Ubuntu 1604'
|
||||
parallel: 2
|
||||
matrix:
|
||||
Debug:
|
||||
GCC_7 Debug:
|
||||
CC: gcc-7
|
||||
CXX: g++-7
|
||||
BuildType: Debug
|
||||
Release:
|
||||
|
||||
GCC_7 Release:
|
||||
CC: gcc-7
|
||||
CXX: g++-7
|
||||
BuildType: Release
|
||||
|
||||
steps:
|
||||
@@ -109,18 +79,21 @@ phases:
|
||||
sudo apt-get install -y ninja-build libc++-dev libc++abi-dev libc++abi1 libstdc++-7-dev gcc-7 g++-7
|
||||
# sudo apt-get install clang-6.0 clang++-6.0
|
||||
|
||||
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc-7 100
|
||||
sudo update-alternatives --set cc /usr/bin/gcc-7
|
||||
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/$(CC) 100
|
||||
sudo update-alternatives --set cc /usr/bin/$(CC)
|
||||
|
||||
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++-7 100
|
||||
sudo update-alternatives --set c++ /usr/bin/g++-7
|
||||
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/$(CXX) 100
|
||||
sudo update-alternatives --set c++ /usr/bin/$(CXX)
|
||||
|
||||
CMAKE_CXX_FLAGS="-std=c++17"
|
||||
if [[ "$CXX" == clang++* ]]; then CMAKE_CXX_FLAGS+=" -stdlib=libstdc++"; fi
|
||||
|
||||
displayName: 'Install Build Dependencies'
|
||||
|
||||
- task: CMake@1
|
||||
displayName: 'CMake .. -GNinja -DCMAKE_BUILD_TYPE=$(BuildType) -DCMAKE_CXX_FLAGS="-std=c++17"'
|
||||
displayName: 'CMake .. -GNinja -DCMAKE_BUILD_TYPE=$(BuildType) -DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS"'
|
||||
inputs:
|
||||
cmakeArgs: '.. -GNinja -DCMAKE_BUILD_TYPE=$(BuildType) -DCMAKE_CXX_FLAGS="-std=c++17"'
|
||||
cmakeArgs: '.. -GNinja -DCMAKE_BUILD_TYPE=$(BuildType) -DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS"'
|
||||
|
||||
- script: |
|
||||
ninja
|
||||
|
||||
Reference in New Issue
Block a user