From 15b8086a2a56a4f38afa4f4d015599540a2ee0ee Mon Sep 17 00:00:00 2001 From: yanyiwu Date: Sat, 18 Jan 2025 20:58:17 +0800 Subject: [PATCH] Add CMake workflow for Windows ARM64 builds This commit introduces a new GitHub Actions workflow for building and testing CMake projects on Windows ARM64. The workflow includes steps for checking out the repository, configuring CMake with multiple C++ standards, building the project, and running tests. This enhancement supports continuous integration for ARM64 architecture, improving the project's build versatility. --- .github/workflows/cmake-arm64.yml | 40 +++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .github/workflows/cmake-arm64.yml diff --git a/.github/workflows/cmake-arm64.yml b/.github/workflows/cmake-arm64.yml new file mode 100644 index 0000000..50dc2b8 --- /dev/null +++ b/.github/workflows/cmake-arm64.yml @@ -0,0 +1,40 @@ +name: CMake Windows ARM64 + +on: + push: + pull_request: + workflow_dispatch: + +env: + BUILD_TYPE: Release + +jobs: + build-windows-arm64: + runs-on: windows-2022 + strategy: + matrix: + cpp_version: [11, 14, 17, 20] + + steps: + - name: Check out repository code + uses: actions/checkout@v2 + with: + submodules: recursive + + - name: Configure CMake + # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. + # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type + # run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} + run: cmake -B ${{github.workspace}}/build -DBUILD_TESTING=ON -DCMAKE_CXX_STANDARD=${{matrix.cpp_version}} -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} + + - name: Build + # Build your program with the given configuration + # run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} + run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} + + - name: Test + working-directory: ${{github.workspace}}/build + # Execute tests defined by the CMake configuration. + # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail + run: ctest -C ${{env.BUILD_TYPE}} --verbose + \ No newline at end of file