Clang warning suppressions, warning fixes and CI #355
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
# Compile project on Windows | |
name: Windows | |
on: | |
push: | |
branches: | |
- '**' | |
paths: | |
- "**" | |
- "!.github/**" | |
- ".github/workflows/Windows.yml" | |
pull_request: | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
build: | |
runs-on: ${{ matrix.cudacxx.os }} | |
strategy: | |
fail-fast: false | |
# Multiplicative build matrix | |
# optional exclude: can be partial, include: must be specific | |
matrix: | |
cudacxx: | |
- cuda: "11.7.0" | |
cuda_arch: "35" | |
hostcxx: "Visual Studio 16 2019" | |
os: windows-2019 | |
config: | |
- name: "Release" | |
config: "Release" | |
# Name the job based on matrix/env options | |
name: "build (${{ matrix.cudacxx.cuda }}, ${{ matrix.config.name }}, ${{ matrix.cudacxx.os }})" | |
# Define job-wide env constants, and promote matrix elements to env constants for portable steps. | |
env: | |
# Define constants | |
BUILD_DIR: "build" | |
BUILD_TESTS: "OFF" | |
# Port matrix options to environment, for more portability. | |
CUDA: ${{ matrix.cudacxx.cuda }} | |
CUDA_ARCH: ${{ matrix.cudacxx.cuda_arch }} | |
HOSTCXX: ${{ matrix.cudacxx.hostcxx }} | |
OS: ${{ matrix.cudacxx.os }} | |
CONFIG: ${{ matrix.config.config }} | |
# Kept for portable steps between this and the main repository. | |
VISUALISATION: "ON" | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install CUDA (Windows) | |
if: ${{ runner.os == 'Windows' && env.CUDA != '' }} | |
shell: powershell | |
env: | |
cuda: ${{ env.CUDA }} | |
visual_studio: ${{ env.HOSTCXX }} | |
run: .github\scripts\install_cuda_windows.ps1 | |
- name: Add custom problem matchers for annotations | |
run: echo "::add-matcher::.github/problem-matchers.json" | |
- name: Configure cmake | |
run: > | |
cmake . -B "${{ env.BUILD_DIR }}" | |
-G "${{ env.HOSTCXX }}" -A x64 | |
-Werror=dev | |
-DCMAKE_WARN_DEPRECATED="OFF" | |
-DFLAMEGPU_WARNINGS_AS_ERRORS="ON" | |
-DCMAKE_CUDA_ARCHITECTURES="${{ env.CUDA_ARCH }}" | |
- name: Build | |
working-directory: ${{ env.BUILD_DIR }} | |
run: cmake --build . --config ${{ env.CONFIG }} --target ALL_BUILD --verbose -j `nproc` |