[WORKFLOW]: CI Update
This commit is contained in:
34
.github/workflows/ci.yaml
vendored
34
.github/workflows/ci.yaml
vendored
@ -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
|
||||
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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")
|
||||
|
||||
@ -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")
|
||||
|
||||
@ -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")
|
||||
|
||||
Reference in New Issue
Block a user