[GITHUB] Get LLVM latest version from chocolatey repository

Also, explicitly set target in toolchain file to help CMake getting things right.
This commit is contained in:
Jérôme Gardou 2020-11-24 18:30:40 +01:00 committed by Jérôme Gardou
parent 56e56f8ecc
commit cad583967b
2 changed files with 32 additions and 2 deletions

View file

@ -102,7 +102,9 @@ jobs:
runs-on: windows-latest
steps:
- name: Install packages
run: choco install ninja -y
run: |
choco install ninja -y
choco install --x86 -y llvm
- name: Install Flex and Bison
run: |
curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
@ -121,7 +123,7 @@ jobs:
run: |
mkdir build
cd build
$env:PATH = "$env:VCToolsInstallDir\..\..\Llvm\bin;$env:PATH"
$env:PATH = "${env:PROGRAMFILES(X86)}\llvm\bin;$env:PATH"
cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=i386 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 -DUSE_CLANG_CL:BOOL=1 ${{github.workspace}}\src
- name: Build
working-directory: ${{github.workspace}}\build

View file

@ -13,11 +13,38 @@ endif()
set(CMAKE_SYSTEM_NAME Windows)
set(CMAKE_SYSTEM_PROCESSOR i686)
# set the generator platform
if (NOT DEFINED CMAKE_GENERATOR_PLATFORM)
if(ARCH STREQUAL "amd64")
set(CMAKE_GENERATOR_PLATFORM "x64")
elseif(ARCH STREQUAL "arm")
set(CMAKE_GENERATOR_PLATFORM "ARM")
elseif(ARCH STREQUAL "arm64")
set(CMAKE_GENERATOR_PLATFORM "ARM64")
else()
set(CMAKE_GENERATOR_PLATFORM "Win32")
endif()
endif()
if(USE_CLANG_CL)
set(CMAKE_C_COMPILER clang-cl)
set(CMAKE_CXX_COMPILER clang-cl)
# Clang now defaults to lld-link which we're not compatible with yet
set(CMAKE_LINKER link)
# Explicitly set target so CMake doesn't get confused
if (ARCH STREQUAL "amd64")
set(CMAKE_C_COMPILER_TARGET "x86_64-pc-windows-msvc")
set(CMAKE_CXX_COMPILER_TARGET "x86_64-pc-windows-msvc")
elseif(ARCH STREQUAL "arm")
set(CMAKE_C_COMPILER_TARGET "arm-pc-windows-msvc")
set(CMAKE_CXX_COMPILER_TARGET "arm-pc-windows-msvc")
elseif(ARCH STREQUAL "arm64")
set(CMAKE_C_COMPILER_TARGET "arm64-pc-windows-msvc")
set(CMAKE_CXX_COMPILER_TARGET "arm64-pc-windows-msvc")
else()
set(CMAKE_C_COMPILER_TARGET "i686-pc-windows-msvc")
set(CMAKE_CXX_COMPILER_TARGET "i686-pc-windows-msvc")
endif()
else()
set(CMAKE_C_COMPILER cl)
set(CMAKE_CXX_COMPILER cl)
@ -35,6 +62,7 @@ else()
set(CMAKE_ASM_COMPILER ml)
endif()
set(CMAKE_C_STANDARD_LIBRARIES "" CACHE INTERNAL "")
set(CMAKE_USER_MAKE_RULES_OVERRIDE "${CMAKE_CURRENT_LIST_DIR}/overrides-msvc.cmake")