120 lines
4.2 KiB
YAML
120 lines
4.2 KiB
YAML
name: X265
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
config:
|
|
description: 'Configuration'
|
|
required: true
|
|
default: 'Debug'
|
|
|
|
env:
|
|
vsPath: C:\Program Files (x86)\Microsoft Visual Studio\2017\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 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 (10 bit)
|
|
shell: cmd
|
|
run: |
|
|
call "${{ env.vsPath }}VC\Auxiliary\Build\vcvars64.bat"
|
|
md dist
|
|
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
|
|
LIB.EXE /ignore:4006 /ignore:4221 /OUT:..\..\..\..\dist\x265.lib ${{ env.winConfig }}\x265-static.lib ..\..\..\..\build\libx265_10bit.lib ..\..\..\..\build\libx265_12bit.lib
|
|
cp x265.pc ..\..\..\..\build\lib\pkgconfig\x265.pc
|
|
cp x265_config.h ..\..\..\..\build\include
|
|
cp ..\..\..\source\x265.h ..\..\..\..\build\lib\include
|
|
cd ..\..\..\..\build
|
|
rem tgz
|
|
- name: Publish artifact
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: x265_10bit
|
|
path: dist/x265_10bit.lib
|