127 lines
4.5 KiB
YAML
127 lines
4.5 KiB
YAML
name: X265
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
config:
|
|
description: 'Configuration'
|
|
required: true
|
|
default: 'Debug'
|
|
|
|
env:
|
|
vsPath: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\
|
|
msysConfig: debug
|
|
winConfig: Debug
|
|
cFlags: -MDd
|
|
switches: "--enable-encoder=libvpl --enable-encoder=libsvtav1 --enable-encoder=libsnappy --enable-encoder=libvpx --enable-encoder=libmp3lame --enable-encoder=libzimg --enable-encoder=libopus --enable-encoder=libogg --enable-encoder=libvorbis --enable-encoder=libx264"
|
|
|
|
|
|
jobs:
|
|
|
|
libx265-12:
|
|
runs-on: windows-2019
|
|
steps:
|
|
- name: Set up MSBuild
|
|
uses: microsoft/setup-msbuild@v1.1
|
|
- name: Set up NASM
|
|
uses: ilammy/setup-nasm@v1.2.1
|
|
- name: Checkout X265
|
|
shell: cmd
|
|
run: |
|
|
git config --global core.autocrlf false
|
|
git config --global core.eol lf
|
|
git clone -b Release_3.5 https://github.com/videolan/x265.git x265
|
|
- name: Build X265 (12 bit)
|
|
shell: cmd
|
|
run: |
|
|
call "${{ env.vsPath }}VC\Auxiliary\Build\vcvars64.bat"
|
|
md build dist
|
|
cd x265/build/vc15-x86_64
|
|
md work
|
|
cd work
|
|
cmake -G "Visual Studio 16 2019" ..\..\..\source -DHIGH_BIT_DEPTH=ON -DEXPORT_C_API=OFF -DENABLE_SHARED=OFF -DENABLE_CLI=OFF -DMAIN12=ON
|
|
MSBuild.exe /property:Configuration="${{ env.winConfig }}" x265-static.vcxproj
|
|
move ${{ env.winConfig }}\x265-static.lib ..\..\..\..\dist\x265_12bit.lib
|
|
- name: Publish artifact
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: x265_12bit
|
|
path: dist/x265_12bit.lib
|
|
|
|
libx265-10:
|
|
runs-on: windows-2019
|
|
steps:
|
|
- name: Set up MSBuild
|
|
uses: microsoft/setup-msbuild@v1.1
|
|
- name: Set up NASM
|
|
uses: ilammy/setup-nasm@v1.2.1
|
|
- name: Checkout X265
|
|
shell: cmd
|
|
run: |
|
|
git config --global core.autocrlf false
|
|
git config --global core.eol lf
|
|
git clone -b Release_3.5 https://github.com/videolan/x265.git x265
|
|
- name: Build X265 (10 bit)
|
|
shell: cmd
|
|
run: |
|
|
call "${{ env.vsPath }}VC\Auxiliary\Build\vcvars64.bat"
|
|
md build dist
|
|
cd x265/build/vc15-x86_64
|
|
md work
|
|
cd work
|
|
cmake -G "Visual Studio 16 2019" ..\..\..\source -DHIGH_BIT_DEPTH=ON -DEXPORT_C_API=OFF -DENABLE_SHARED=OFF -DENABLE_CLI=OFF
|
|
MSBuild.exe /property:Configuration="${{ env.winConfig }}" x265-static.vcxproj
|
|
move ${{ env.winConfig }}\x265-static.lib ..\..\..\..\dist\x265_10bit.lib
|
|
- name: Publish artifact
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: x265_10bit
|
|
path: dist/x265_10bit.lib
|
|
|
|
libx265:
|
|
runs-on: windows-2019
|
|
needs: [libx265-12,libx265-10]
|
|
steps:
|
|
- name: Set up MSYS2
|
|
uses: msys2/setup-msys2@v2
|
|
with:
|
|
install: base-devel binutils autotools automake
|
|
path-type: inherit
|
|
- name: Set up MSBuild
|
|
uses: microsoft/setup-msbuild@v1.1
|
|
- name: Set up NASM
|
|
uses: ilammy/setup-nasm@v1.2.1
|
|
- name: Checkout X265
|
|
shell: cmd
|
|
run: |
|
|
git config --global core.autocrlf false
|
|
git config --global core.eol lf
|
|
git clone -b Release_3.5 https://github.com/videolan/x265.git x265
|
|
- name: Set up dependant libs
|
|
uses: actions/download-artifact@v3
|
|
with:
|
|
path: build
|
|
- name: Build X265
|
|
shell: cmd
|
|
run: |
|
|
call "${{ env.vsPath }}VC\Auxiliary\Build\vcvars64.bat"
|
|
md dist dist\include dist\lib dist\lib\pkgconfig
|
|
cd x265/build/vc15-x86_64
|
|
md work
|
|
cd work
|
|
cmake -G "Visual Studio 16 2019" ..\..\..\source -DCMAKE_INSTALL_PREFIX=..\..\..\..\build -DENABLE_SHARED=OFF -DENABLE_CLI=OFF -DEXTRA_LIB="libx265_10bit.lib;libx265_12bit.lib" -DLINKED_10BIT=ON -DLINKED_12BIT=ON
|
|
MSBuild.exe /property:Configuration="${{ env.winConfig }}" x265-static.vcxproj
|
|
cp x265.pc ..\..\..\..\dist\lib\pkgconfig\x265.pc
|
|
move ${{ env.winConfig }}\x265-static.lib ..\..\..\..\build\
|
|
move x265_config.h ..\..\..\..\dist\include\
|
|
cd ..\..\..\..
|
|
"${{ env.vsPath }}VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\lib.exe" /ignore:4006 /ignore:4221 /OUT:dist\lib\x265.lib build\x265-static.lib build\x265_10bit\x265_10bit.lib build\x265_12bit\x265_12bit.lib
|
|
copy x265\source\x265.h dist\include\
|
|
dir /s dist
|
|
D:\a\_temp\setup-msys2\msys2.cmd -c 'cd dist ; tar czf ../libx265.tgz *'
|
|
- name: Publish artifact
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: libx265
|
|
path: libx265.tgz
|