llvm-build/azure-pipelines.yml
2023-03-12 11:03:24 +03:00

84 lines
3.1 KiB
YAML

# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml
trigger:
- master
jobs:
- job: build_win32
displayName: Win32 Build
timeoutInMinutes: 0
pool:
vmImage: 'windows-2019'
steps:
- script: |
git clone git@github.com:llvm/llvm-project.git
mkdir llvm_build
cd llvm_build
cmake -G "Visual Studio 16 2019" ../llvm-project/llvm -Thost=x64 -DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_DEFAULT_TARGET_TRIPLE:STRING=x86_64-pc-windows-msvc -DLLVM_HOST_TRIPLE:STRING=x86_64-pc-windows-msvc -DCMAKE_BUILD_TYPE=Release -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_UTILS=OFF -DLLVM_USE_INTEL_JITEVENTS=ON -DLLVM_ENABLE_Z3_SOLVER=OFF -DCMAKE_SYSTEM_VERSION=6.1 -DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=10.0 -DLLVM_USE_CRT_DEBUG=MTd -DLLVM_USE_CRT_RELEASE=MT
displayName: Configure LLVM
- script: |
cd llvm_build
cmake --build . --config Release -- /maxcpucount
displayName: Build LLVM
- script: |
mkdir llvm_out
cd llvm_out
mkdir build
cd build
mkdir llvm
cd llvm
mkdir cmake
mkdir include
mkdir tools
xcopy "..\..\..\cmake" ".\cmake" /E
xcopy "..\..\..\include" ".\include" /E
cd ..\
mkdir llvm_build
cd llvm_build
mkdir Release
mkdir include
mkdir lib
cd lib
mkdir cmake
cd ..\
xcopy "..\..\..\llvm_build\Release" ".\Release" /E
xcopy "..\..\..\llvm_build\include" ".\include" /E
xcopy "..\..\..\llvm_build\lib\cmake" ".\lib\cmake" /E
cd ..\
7z a -t7z -m0=lzma2 -mx=9 -aoa -r "llvmlibs_mt.7z" *
displayName: Package LLVM Libraries
- bash: |
cd llvm_out/build
sha256sum llvmlibs_mt.7z | awk '{ print $1 }' > llvmlibs_mt.7z.sha256
displayName: Generate sha256
- task: GitHubRelease@0
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))
inputs:
gitHubConnection: RPCS3-Token
repositoryName: RPCS3/llvm-mirror
action: edit # Options: create, edit, delete
target: '$(Build.SourceVersion)' # Required when action == Create || Action == Edit
tagSource: auto # Required when action == Create# Options: auto, manual
#tagPattern: # Optional
tag: 'custom-build-win' # Required when action == Edit || Action == Delete || TagSource == Manual
title: 'Windows Build' # Optional
#releaseNotesSource: 'file' # Optional. Options: file, input
#releaseNotesFile: # Optional
#releaseNotes: # Optional
assets: 'llvm_out/build/llvmlibs_mt.*' # Optional
assetUploadMode: delete # Optional. Options: delete, replace
#isDraft: false # Optional
#isPreRelease: true # Optional
#addChangeLog: true # Optional
#compareWith: 'lastFullRelease' # Required when addChangeLog == True. Options: lastFullRelease, lastRelease, lastReleaseByTag
#releaseTag: # Required when compareWith == LastReleaseByTag