ci: clang support added to CI

This commit is contained in:
Mateusz Pusz
2021-03-15 21:36:15 +01:00
parent 5c94a40906
commit 18746db840

View File

@@ -46,12 +46,26 @@ jobs:
- {
name: "Ubuntu GCC 10.1.0",
os: ubuntu-18.04,
compiler: { type: GCC, version: 10, cc: "gcc-10", cxx: "g++-10" }
compiler: { type: GCC, version: 10, cc: "gcc-10", cxx: "g++-10" },
lib: "libstdc++11"
}
- {
name: "Ubuntu GCC 10.2.0",
os: ubuntu-20.04,
compiler: { type: GCC, version: 10, cc: "gcc-10", cxx: "g++-10" }
compiler: { type: GCC, version: 10, cc: "gcc-10", cxx: "g++-10" },
lib: "libstdc++11"
}
- {
name: "Ubuntu Clang 12.0.0 + libstdc++11",
os: ubuntu-20.04,
compiler: { type: CLANG, version: 12, cc: "clang-12", cxx: "clang++-12" },
lib: "libstdc++11"
}
- {
name: "Ubuntu Clang 12.0.0 + libc++",
os: ubuntu-20.04,
compiler: { type: CLANG, version: 12, cc: "clang-12", cxx: "clang++-12" },
lib: "libc++"
}
# In case a Conan docker image will be needed to provide a specific configuration we can use a Docker image as follows
# - {
@@ -64,6 +78,15 @@ jobs:
downcast_mode: [ "on", "auto" ]
steps:
- uses: actions/checkout@v2
- name: Install Clang
if: matrix.config.compiler.type == 'CLANG'
shell: bash
working-directory: ${{ env.HOME }}
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh ${{ matrix.config.compiler.version }}
sudo apt install -y libc++-${{ matrix.config.compiler.version }}-dev
- name: Install Ninja
# TODO Find a proper syntax to make the below work
# if: !matrix.config.docker_image
@@ -90,10 +113,8 @@ jobs:
shell: bash
run: |
conan profile new --detect default
if [ ${{ matrix.config.compiler.type }} == 'GCC' ]; then
conan profile update settings.compiler.libcxx=libstdc++11 default
elif [ ${{ matrix.config.compiler.type }} == 'CLANG' ]; then
conan profile update settings.compiler.libcxx=libc++ default
if [ ${{ matrix.config.compiler.type }} == 'GCC' | ${{ matrix.config.compiler.type }} == 'CLANG' ]; then
conan profile update settings.compiler.libcxx=${{ matrix.config.lib }} default
fi
conan profile show default
- name: Run Conan Package Tools