name: CodeQL Analysis (macos) on: push: paths: - src/** - cmake/** - "**/CMakeLists.txt" - "CMakePresets.json" - .github/workflows/codeql.yml - vcpkg.json - "!**/Makefile*" pull_request: paths: - src/** - cmake/** - "**/CMakeLists.txt" - "CMakePresets.json" - .github/workflows/** - .github/workflows/codeql.yml - vcpkg.json - "!**/Makefile*" jobs: analyze-macos12: name: "${{ matrix.ui.name }}, ${{ matrix.build.name }}, ${{ matrix.dynarec.name }}, x86_64" runs-on: macos-12 permissions: actions: read contents: read security-events: write strategy: fail-fast: true matrix: language: [ 'cpp' ] build: # - name: Regular # preset: regular # - name: Debug # preset: debug # slug: -Debug - name: Dev preset: experimental slug: -Dev dynarec: - name: ODR new: off slug: -ODR - name: NDR new: on slug: -NDR ui: - name: SDL GUI qt: off - name: Qt GUI qt: on slug: -Qt packages: >- qt@5 steps: - name: Install dependencies run: >- brew install ninja freetype sdl2 libpng rtmidi openal-soft fluidsynth libvncserver ${{ matrix.ui.packages }} - name: Checkout repository uses: actions/checkout@v4 - name: Initialize CodeQL uses: github/codeql-action/init@v2 with: languages: ${{ matrix.language }} config-file: ./.github/codeql/codeql-config.yml - name: Configure CMake run: >- cmake -G Ninja -S . -B build --preset ${{ matrix.build.preset }} --toolchain ./cmake/flags-gcc-x86_64.cmake -D NEW_DYNAREC=${{ matrix.dynarec.new }} -D CMAKE_INSTALL_PREFIX=./build/artifacts -D QT=${{ matrix.ui.qt }} -D Qt5_ROOT=$(brew --prefix qt@5) -D Qt5LinguistTools_ROOT=$(brew --prefix qt@5) -D OpenAL_ROOT=$(brew --prefix openal-soft) - name: Build run: cmake --build build - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v2 with: category: "/language:${{matrix.language}}"