ci: 在 macOS 上使用 clang 18

This commit is contained in:
Weiyou Wang
2024-08-17 01:21:34 +10:00
committed by zzyyyl
parent 6ed153dfb7
commit d16eb092bd
2 changed files with 25 additions and 4 deletions

View File

@@ -296,10 +296,14 @@ jobs:
macOS-Core:
needs: meta
runs-on: macos-14
strategy:
matrix:
arch: [arm64, x86_64]
include:
- os: macos-13
arch: x86_64
- os: macos-14
arch: arm64
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v4
@@ -308,7 +312,7 @@ jobs:
- name: Install Dependencies
run: |
brew install ninja
brew install ninja llvm@18
- name: Bootstrap MaaDeps
run: |
@@ -319,7 +323,10 @@ jobs:
- name: Configure MaaCore
run: |
cmake -B build -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES='${{ matrix.arch }}' -DMAA_VERSION='${{ needs.meta.outputs.tag }}'
LLVM_PREFIX=$(brew --prefix llvm)
cmake -B build -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES='${{ matrix.arch }}' -DMAA_VERSION='${{ needs.meta.outputs.tag }}' \
-DCMAKE_C_COMPILER=${LLVM_PREFIX}/bin/clang \
-DCMAKE_CXX_COMPILER=${LLVM_PREFIX}/bin/clang++
- name: Build MaaCore
run: |

View File

@@ -50,6 +50,20 @@ else ()
endif()
endif ()
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "18.0")
execute_process(
COMMAND brew --prefix llvm
OUTPUT_VARIABLE LLVM_PREFIX
OUTPUT_STRIP_TRAILING_WHITESPACE
)
message(STATUS "LLVM prefix=${LLVM_PREFIX}")
target_link_options(MaaCore PRIVATE
"-L${LLVM_PREFIX}/lib/c++"
"-L${LLVM_PREFIX}/lib"
"-lunwind"
)
endif()
if (WIN32)
#注意相比VS版本缺少了 -D_CONSOLE -D_WINDLL 两项
target_compile_definitions(MaaCore PRIVATE ASST_DLL_EXPORTS _UNICODE UNICODE)