[WORKFLOW]: CI Update

This commit is contained in:
2025-12-22 00:14:37 +05:30
parent b92b59599c
commit 8d58a077af
6 changed files with 47 additions and 11 deletions

View File

@ -7,7 +7,7 @@ on:
branches: [ "main" ]
jobs:
build-all:
build-linux-wasm:
runs-on: ubuntu-latest
permissions:
contents: read
@ -17,7 +17,7 @@ jobs:
strategy:
fail-fast: false
matrix:
target: [linux-x64, linux-arm64, windows-x64, windows-arm64, wasm]
target: [linux-x64, linux-arm64, wasm]
steps:
- uses: actions/checkout@v4
@ -27,3 +27,33 @@ jobs:
- name: Build
run: cmake --build --preset ${{ matrix.target }} --config Release
build-windows:
runs-on: windows-2022
strategy:
fail-fast: false
matrix:
target: [windows-x64, windows-arm64]
steps:
- uses: actions/checkout@v4
- name: Setup VCPKG
run: |
git clone https://github.com/microsoft/vcpkg.git C:/vcpkg
C:/vcpkg/bootstrap-vcpkg.bat
echo "VCPKG_ROOT=C:/vcpkg" >> $env:GITHUB_ENV
- uses: ilammy/setup-nasm@v1
- name: Cache vcpkg
uses: actions/cache@v4
with:
path: out/build/${{ matrix.target }}/vcpkg_installed
key: vcpkg-${{ runner.os }}-${{ matrix.target }}-${{ hashFiles('vcpkg.json') }}
- name: Build
shell: cmd
run: |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
cmake --preset ${{ matrix.target }}
cmake --build --preset ${{ matrix.target }} --config Debug

View File

@ -81,7 +81,7 @@ set(MI_BUILD_SHARED OFF CACHE BOOL "" FORCE)
set(EXPECTED_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(HTTPLIB_REQUIRE_OPENSSL ON CACHE BOOL "" FORCE)
set(HTTPLIB_REQUIRE_ZLIB ON CACHE BOOL "" FORCE)
set(HTTPLIB_REQUIRE_ZLIB OFF CACHE BOOL "" FORCE)
set(HTTPLIB_NO_EXCEPTIONS ON CACHE BOOL "" FORCE)
set(HTTPLIB_COMPILE OFF CACHE BOOL "" FORCE)
set(HTTPLIB_TEST OFF CACHE BOOL "" FORCE)

View File

@ -10,8 +10,8 @@ set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
set(CMAKE_SYSROOT /usr/aarch64-linux-gnu/sys-root)
set(CMAKE_LIBRARY_ARCHITECTURE aarch64-linux-gnu)
string(APPEND CMAKE_C_FLAGS " --gcc-toolchain=/usr -march=armv8-a+simd")
string(APPEND CMAKE_CXX_FLAGS " --gcc-toolchain=/usr -march=armv8-a+simd")
string(APPEND CMAKE_C_FLAGS " -march=armv8-a+simd")
string(APPEND CMAKE_CXX_FLAGS " -march=armv8-a+simd")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)

View File

@ -2,6 +2,7 @@ set(CMAKE_SYSTEM_NAME Windows)
set(CMAKE_SYSTEM_PROCESSOR aarch64)
set(CMAKE_C_COMPILER clang-cl)
set(CMAKE_CXX_COMPILER clang-cl)
set(CMAKE_RC_COMPILER llvm-rc)
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
@ -15,5 +16,5 @@ set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
string(APPEND CMAKE_C_FLAGS " --target=arm64-pc-windows-msvc -fuse-ld=lld-link")
string(APPEND CMAKE_CXX_FLAGS " --target=arm64-pc-windows-msvc -fuse-ld=lld-link")
string(APPEND CMAKE_C_FLAGS " /clang:--target=arm64-pc-windows-msvc")
string(APPEND CMAKE_CXX_FLAGS " /clang:--target=arm64-pc-windows-msvc")

View File

@ -2,10 +2,15 @@ set(CMAKE_SYSTEM_NAME Windows)
set(CMAKE_SYSTEM_PROCESSOR AMD64)
set(CMAKE_C_COMPILER clang-cl)
set(CMAKE_CXX_COMPILER clang-cl)
set(CMAKE_RC_COMPILER llvm-rc)
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
set(triple x86_64-pc-windows-msvc)
set(CMAKE_C_COMPILER_TARGET ${triple})
set(CMAKE_CXX_COMPILER_TARGET ${triple})
set(CMAKE_LINKER lld-link)
string(APPEND CMAKE_C_FLAGS " /arch:AVX2 -fuse-ld=lld-link")
string(APPEND CMAKE_CXX_FLAGS " /arch:AVX2 -fuse-ld=lld-link")
string(APPEND CMAKE_C_FLAGS " /arch:AVX2 /clang:-mfma")
string(APPEND CMAKE_CXX_FLAGS " /arch:AVX2 /clang:-mfma")

View File

@ -3,7 +3,7 @@ set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE static)
set(VCPKG_CMAKE_SYSTEM_NAME Windows)
set(VCPKG_C_FLAGS "/arch:AVX2")
set(VCPKG_CXX_FLAGS "/arch:AVX2")
set(VCPKG_C_FLAGS "/arch:AVX2 /clang:-mfma")
set(VCPKG_CXX_FLAGS "/arch:AVX2 /clang:-mfma")
set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/../Toolchains/windows-x64.cmake")