adopting some best practices for cmake #2613
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: windows | |
on: | |
push: | |
pull_request: | |
branches: [ master ] | |
jobs: | |
build-and-test: | |
name: Build and test ${{matrix.build-type}} mode | |
runs-on: windows-2022 | |
strategy: | |
matrix: | |
build-type: [Release] # Debug disabled: link.exe hangs :( | |
steps: | |
- name: Clone recursively | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Install LIT | |
shell: cmd | |
run: python -m pip install lit psutil | |
- name: Install FileCheck | |
uses: i3h/download-release-asset@v1 | |
with: | |
owner: fodinabor | |
repo: FileCheckBuild | |
tag: latest | |
file: FileCheck-x86_64-win.exe | |
path: ${{github.workspace}}/bin | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Configure | |
shell: cmd | |
run: | | |
cmake -E copy ${{github.workspace}}/bin/FileCheck-x86_64-win.exe ${{github.workspace}}/bin/FileCheck | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" | |
set CC=cl.exe | |
set CXX=cl.exe | |
python -c "import sys; import os; print(os.path.dirname(sys.executable))" > tmpPath | |
set /p PYTHON_PATH= < tmpPath | |
cmake -B ${{github.workspace}}/build -G Ninja -DCMAKE_BUILD_TYPE=${{matrix.build-type}} -DTHORIN_BUILD_TESTING=ON -DTHORIN_BUILD_EXAMPLES=ON -DPython3_ROOT_DIR=%PYTHON_PATH% | |
- name: Install LLVM and Clang | |
uses: KyleMayes/[email protected] | |
with: | |
version: "14.0.0" | |
- name: Build | |
shell: cmd | |
run: | | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" | |
cmake --build ${{github.workspace}}/build -v | |
- name: Run lit test suite | |
working-directory: ${{github.workspace}}/build | |
shell: cmd | |
run: | | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" | |
set PATH=${{github.workspace}}/bin;%PATH% | |
cmake --build ${{github.workspace}}/build -v --target check | |
- name: Test | |
working-directory: ${{github.workspace}}/build | |
shell: cmd | |
run: | | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" | |
set PATH=${{github.workspace}}/bin;%PATH% | |
ctest --verbose -C ${{matrix.build-type}} --output-on-failure |