【问题标题】:cmake using GitHub Actions MSYS2cmake 使用 GitHub Actions MSYS2
【发布时间】:2021-01-20 22:13:10
【问题描述】:

我正在尝试将 MSYS2 构建从 azure 管道 CI(有效)转换为 github 操作。

我现在卡住了 cmake 不被识别为命令。

我当前的(简化的)yaml 如下:

- uses: msys2/setup-msys2@v2
        with:
          msystem: MSYS
          install: >-
            git
            base-devel
            mingw-w64-${{ matrix.arch }}-gcc
            mingw-w64-${{ matrix.arch }}-cmake
          update: true

      - name: Move Checkout
        run: |
          Copy-Item -Path ".\temp" -Destination "C:\_" -Recurse
      - name: CI-Build
        shell: msys2 {0}
        run: |
          cd /C/_
          mkdir build
          cd build
          cmake -DCMAKE_FIND_LIBRARY_SUFFIXES='.a' -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchains/mingw64-x86_64.cmake -DCMAKE_BUILD_TYPE=Release -G 'MSYS Makefiles' ..
          make VERBOSE=1 -j4

为什么 cmake 不是公认的命令?!

【问题讨论】:

  • 那个 YAML 不能正确格式化...

标签: cmake azure-devops github-actions msys2


【解决方案1】:

CMake 的包名错误。以下是MSYS repository 中名称中包含cmake 的软件包列表:

cmake
icmake
mingw-w64-cmake
mingw-w64-cmake-doc-qt
mingw-w64-extra-cmake-modules
mingw-w64-python-sphinxcontrib-moderncmakedomain

我打赌你要么想要mingw-w64-cmakecmakemingw-w64-${{ matrix.arch }}-cmake 中的 matrix.arch 的任何值都不会扩展为上述名称之一。

【讨论】:

    【解决方案2】:

    答案是将msystemMSYS 更改为MINGW64 这是因为MSYS 将针对cygwin(这将需要Alex Reinking 指定的cmake 包)。

    指定MINGW64 将允许正确使用mingw-w64-x86_64-cmake 包。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-11
      • 2021-03-21
      • 2021-11-05
      • 1970-01-01
      • 2022-10-05
      • 2020-01-14
      • 1970-01-01
      • 2019-08-04
      相关资源
      最近更新 更多