cmake 使用 GitHub Actions MSYS2
cmake using GitHub Actions MSYS2
我正在尝试将 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 不是可识别的命令?!
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-cmake
,要么想要 cmake
。 mingw-w64-${{ matrix.arch }}-cmake
中 matrix.arch
的值不会扩展为上述名称之一。
答案是将 msystem
从 MSYS
更改为 MINGW64
这是因为 MSYS
将以 cygwin 为目标(这需要 cmake
包作为由 Alex Reinking 指定)。
指定 MINGW64
将允许正确使用 mingw-w64-x86_64-cmake
包。
我正在尝试将 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 不是可识别的命令?!
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-cmake
,要么想要 cmake
。 mingw-w64-${{ matrix.arch }}-cmake
中 matrix.arch
的值不会扩展为上述名称之一。
答案是将 msystem
从 MSYS
更改为 MINGW64
这是因为 MSYS
将以 cygwin 为目标(这需要 cmake
包作为由 Alex Reinking 指定)。
指定 MINGW64
将允许正确使用 mingw-w64-x86_64-cmake
包。