Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 23 additions & 11 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -144,27 +144,31 @@ jobs:
name: windows
strategy:
matrix:
arch: [Win32, x64]
arch: [Win32, x64, Arm64]
vstools: [vs2017, vs2022]
include:
- arch: x64
name_suffix: 64

- vstools: vs2017
arch: Win32
cmake_generator: Visual Studio 15 2017
- arch: Arm64
name_suffix: -arm64
runner: windows-11-arm
CMAKE_FLAGS: -DWITH_APACHE=OFF

- vstools: vs2017
arch: x64
cmake_generator: Visual Studio 15 2017 Win64
cmake_generator: Visual Studio 15 2017

- vstools: vs2022
cmake_generator: Visual Studio 17 2022

exclude:
- vstools: vs2017
arch: Arm64

env:
CMAKE_BUILD_TYPE: RelWithDebInfo

runs-on: windows-2022
runs-on: ${{ matrix.runner || 'windows-2022' }}
steps:
- name: Checkout
uses: actions/checkout@v7
Expand All @@ -176,9 +180,7 @@ jobs:

- name: CMake
run: |
cmake . -G "${{ matrix.cmake_generator }}" ${{ env.CMAKE_ARCH_FLAG }}
env:
CMAKE_ARCH_FLAG: ${{ matrix.vstools == 'vs2022' && format('-A {0}', matrix.arch) || ' ' }}
cmake . -G "${{ matrix.cmake_generator }}" -A ${{ matrix.arch }} ${{ matrix.CMAKE_FLAGS }}

- name: Download dependencies
run: |
Expand Down Expand Up @@ -355,6 +357,11 @@ jobs:
with:
name: windows64-vs2017-binaries

- name: Download windows-arm64-vs2022-binaries
uses: actions/download-artifact@v8
with:
name: windows-arm64-vs2022-binaries

- name: Download chocolatey
uses: actions/download-artifact@v8
with:
Expand Down Expand Up @@ -401,6 +408,7 @@ jobs:
rclone copyto mac-static-universal-binaries/neko-*.tar.gz "r2:hxbuilds-hjtpx7fj/builds/neko/mac-universal/${FILE_NAME}.tar.gz"
rclone copyto neko-*-win.zip "r2:hxbuilds-hjtpx7fj/builds/neko/windows/${FILE_NAME}.zip"
rclone copyto neko-*-win64.zip "r2:hxbuilds-hjtpx7fj/builds/neko/windows64/${FILE_NAME}.zip"
rclone copyto neko-*-win-arm64.zip "r2:hxbuilds-hjtpx7fj/builds/neko/windows-arm64/${FILE_NAME}.zip"
rclone copy neko.*.nupkg "r2:hxbuilds-hjtpx7fj/builds/neko/windows64-choco/"

rclone copyto linux-static-amd64-binaries/neko-*.tar.gz "s3:hxbuilds/builds/neko/linux64/${FILE_NAME}.tar.gz"
Expand All @@ -410,6 +418,7 @@ jobs:
rclone copyto mac-static-universal-binaries/neko-*.tar.gz "s3:hxbuilds/builds/neko/mac-universal/${FILE_NAME}.tar.gz"
rclone copyto neko-*-win.zip "s3:hxbuilds/builds/neko/windows/${FILE_NAME}.zip"
rclone copyto neko-*-win64.zip "s3:hxbuilds/builds/neko/windows64/${FILE_NAME}.zip"
rclone copyto neko-*-win-arm64.zip "s3:hxbuilds/builds/neko/windows-arm64/${FILE_NAME}.zip"
rclone copy neko.*.nupkg "s3:hxbuilds/builds/neko/windows64-choco/"

- name: Update "latest"
Expand Down Expand Up @@ -439,6 +448,7 @@ jobs:
rclone copyto mac-static-universal-binaries/neko-*.tar.gz "r2:hxbuilds-hjtpx7fj/builds/neko/mac-universal/neko_latest.tar.gz"
rclone copyto neko-*-win.zip "r2:hxbuilds-hjtpx7fj/builds/neko/windows/neko_latest.zip"
rclone copyto neko-*-win64.zip "r2:hxbuilds-hjtpx7fj/builds/neko/windows64/neko_latest.zip"
rclone copyto neko-*-win-arm64.zip "r2:hxbuilds-hjtpx7fj/builds/neko/windows-arm64/neko_latest.zip"
rclone copyto neko.*.nupkg "r2:hxbuilds-hjtpx7fj/builds/neko/windows64-choco/neko_latest.nupkg"

rclone copyto linux-static-amd64-binaries/neko-*.tar.gz "s3:hxbuilds/builds/neko/linux64/neko_latest.tar.gz"
Expand All @@ -448,8 +458,9 @@ jobs:
rclone copyto mac-static-universal-binaries/neko-*.tar.gz "s3:hxbuilds/builds/neko/mac-universal/neko_latest.tar.gz"
rclone copyto neko-*-win.zip "s3:hxbuilds/builds/neko/windows/neko_latest.zip"
rclone copyto neko-*-win64.zip "s3:hxbuilds/builds/neko/windows64/neko_latest.zip"
rclone copyto neko-*-win-arm64.zip "s3:hxbuilds/builds/neko/windows-arm64/neko_latest.zip"
rclone copyto neko.*.nupkg "s3:hxbuilds/builds/neko/windows64-choco/neko_latest.nupkg"

curl "https://api.cloudflare.com/client/v4/zones/$CLOUDFLARE_ZONE_ID/purge_cache" \
-fsS \
-H 'Content-Type: application/json' \
Expand All @@ -463,6 +474,7 @@ jobs:
"https://build.haxe.org/builds/neko/mac-universal/neko_latest.tar.gz",
"https://build.haxe.org/builds/neko/windows/neko_latest.zip",
"https://build.haxe.org/builds/neko/windows64/neko_latest.zip",
"https://build.haxe.org/builds/neko/windows-arm64/neko_latest.zip",
"https://build.haxe.org/builds/neko/windows64-choco/neko_latest.nupkg"
]
}'
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -738,7 +738,7 @@ else()
set(OS_NAME "")
endif()

if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "arm64" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64")
if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(ARM|arm|aarch)64$")
set(arch_suffix "-arm64")
else()
set(arch_suffix ${arch_64})
Expand Down
8 changes: 5 additions & 3 deletions libs/mysql/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ if (STATIC_OPENSSL)
if (WIN32)
# perl is needed to run the openssl Configure script...
find_package(Perl REQUIRED)
if (arch_64)
if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(ARM64|aarch64)$")
set(openssl_target VC-WIN64-ARM)
elseif (arch_64)
set(openssl_target VC-WIN64A)
else()
set(openssl_target VC-WIN32)
Expand Down Expand Up @@ -50,8 +52,8 @@ if (STATIC_OPENSSL)
endif()
ExternalProject_Add(OpenSSL
${EP_CONFIGS}
URL https://www.openssl.org/source/openssl-3.0.8.tar.gz
URL_HASH SHA256=6c13d2bf38fdf31eac3ce2a347073673f5d63263398f1f69d0df4a41253e4b3e
URL https://github.com/openssl/openssl/releases/download/openssl-3.6.4/openssl-3.6.4.tar.gz
URL_HASH SHA256=9bffaa1ad1e07b354c21bd3324ec02fa15579f45a7d0494b3e74bc449b7333ef
${OPENSSL_CONFIGS}
BYPRODUCTS ${OPENSSL_LIBRARIES}
SOURCE_DIR ${CMAKE_BINARY_DIR}/libs/src/openssl
Expand Down
4 changes: 2 additions & 2 deletions libs/regexp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ if (STATIC_PCRE2)
COMPILE_DEFINITIONS PCRE2_STATIC_LINK
)
set(PCRE2_CONFIG
URL https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.42/pcre2-10.42.tar.gz
URL_HASH SHA256=c33b418e3b936ee3153de2c61cc638e7e4fe3156022a5c77d0711bcbb9d64f1f
URL https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.48/pcre2-10.48.tar.gz
URL_HASH SHA256=ebcc25aadf2a51fa1fefa9b8bc9e7a79b3dae86870a0f1152a22e42befd46888
)
if (WIN32)
ExternalProject_Add(pcre2
Expand Down
Loading