diff --git a/.github/workflows/arm64_windows_cmake.yml b/.github/workflows/arm64_windows_cmake.yml new file mode 100644 index 0000000..c43561c --- /dev/null +++ b/.github/workflows/arm64_windows_cmake.yml @@ -0,0 +1,26 @@ +# ref: https://github.com/actions/runner-images +name: Arm64 Windows CMake + +on: + push: + pull_request: + schedule: + # min hours day(month) month day(week) + - cron: '0 0 7,22 * *' + +jobs: + # Building using the github runner environement directly. + make: + runs-on: windows-11-arm + env: + CTEST_OUTPUT_ON_FAILURE: 1 + steps: + - uses: actions/checkout@v4 + - name: Configure + run: cmake -S. -Bbuild -G "Visual Studio 17 2022" -A ARM64 -DCMAKE_CONFIGURATION_TYPES=Release + - name: Build + run: cmake --build build --config Release --target ALL_BUILD -- /maxcpucount + - name: Test + run: cmake --build build --config Release --target RUN_TESTS -- /maxcpucount + - name: Install + run: cmake --build build --config Release --target INSTALL -- /maxcpucount \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 86e1acc..370887b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -71,7 +71,9 @@ set(PROCESSOR_IS_S390X FALSE) set(PROCESSOR_IS_RISCV FALSE) set(PROCESSOR_IS_LOONGARCH FALSE) -if(CMAKE_SYSTEM_PROCESSOR MATCHES "^mips") +if (CMAKE_SYSTEM_NAME MATCHES "^Windows" AND CMAKE_C_COMPILER_ARCHITECTURE_ID STREQUAL "ARM64") + set(PROCESSOR_IS_AARCH64 TRUE) +elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^mips") set(PROCESSOR_IS_MIPS TRUE) elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(^aarch64)|(^arm64)|(^ARM64)") set(PROCESSOR_IS_AARCH64 TRUE)