https://gitlab.kitware.com/cmake/community/wikis/FAQ#how-do-i-use-a-different-compiler建议使用CC
和CXX
环境变量来选择编译器,我喜欢你使用矩阵在不同的编译器下运行。所以现在我们只需要查看https://help.github.com/en/articles/workflow-syntax-for-github-actions#jobsjob_idstrategymatrix并了解如何使用矩阵。这是他们显示的示例片段:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-16.04, ubuntu-18.04]
node: [6, 8, 10]
steps:
- uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node }}
如您所见,在 thenfoo
下指定一个变量matrix:
会创建一个matrix.foo
您可以在其他地方引用的值。所以你会做这样的事情:
name: Build master
on: [push]
strategy:
matrix:
compiler: [gcc, clang]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Run CMake
env:
CC: ${{ matrix.compiler }}
run: cmake --your-args-here