2022-01-10 11:45:52 +01:00
|
|
|
name: CI
|
|
|
|
on: [push, pull_request]
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
linux-autotools:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Checkout sources
|
2023-10-06 11:03:33 +02:00
|
|
|
uses: actions/checkout@v4
|
2022-01-10 11:45:52 +01:00
|
|
|
- name: Build
|
|
|
|
run: |
|
|
|
|
./autogen.sh
|
|
|
|
./configure --enable-example
|
|
|
|
make -j$(nproc) CFLAGS="-g -O2 -Werror" CXXFLAGS="-g -O2 -Werror"
|
|
|
|
|
|
|
|
linux-cmake:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Checkout sources
|
2023-10-06 11:03:33 +02:00
|
|
|
uses: actions/checkout@v4
|
2022-01-10 11:45:52 +01:00
|
|
|
- name: Build
|
|
|
|
run: |
|
|
|
|
cmake . -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_PROGRAMS=YES -DCMAKE_C_FLAGS="-Werror" -DCMAKE_CXX_FLAGS="-Werror"
|
|
|
|
cmake --build build
|
|
|
|
|
|
|
|
macos-autotools:
|
|
|
|
runs-on: macos-latest
|
|
|
|
steps:
|
|
|
|
- name: Install autotools
|
|
|
|
run: |
|
|
|
|
brew install automake
|
|
|
|
- name: Checkout sources
|
2023-10-06 11:03:33 +02:00
|
|
|
uses: actions/checkout@v4
|
2022-01-10 11:45:52 +01:00
|
|
|
- name: Build
|
|
|
|
run: |
|
|
|
|
./autogen.sh
|
|
|
|
./configure --enable-example
|
2022-05-31 09:40:28 +02:00
|
|
|
make -j$(sysctl -n hw.ncpu) CFLAGS="-g -O2 -Werror" CXXFLAGS="-g -O2 -Werror"
|
2022-01-10 11:45:52 +01:00
|
|
|
|
|
|
|
macos-cmake:
|
|
|
|
runs-on: macos-latest
|
|
|
|
steps:
|
|
|
|
- name: Checkout sources
|
2023-10-06 11:03:33 +02:00
|
|
|
uses: actions/checkout@v4
|
2022-01-10 11:45:52 +01:00
|
|
|
- name: Build
|
|
|
|
run: |
|
|
|
|
cmake . -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_PROGRAMS=YES -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DCMAKE_C_FLAGS="-Werror" -DCMAKE_CXX_FLAGS="-Werror"
|
|
|
|
cmake --build build
|
|
|
|
|
|
|
|
mingw-cross-autotools:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Install cross compiler
|
|
|
|
run: |
|
|
|
|
sudo apt-get install g++-mingw-w64-x86-64
|
|
|
|
- name: Checkout sources
|
2023-10-06 11:03:33 +02:00
|
|
|
uses: actions/checkout@v4
|
2022-01-10 11:45:52 +01:00
|
|
|
- name: Build
|
|
|
|
run: |
|
|
|
|
./autogen.sh
|
|
|
|
./configure --enable-example --host=x86_64-w64-mingw32
|
|
|
|
make -j$(nproc) CFLAGS="-g -O2 -Werror" CXXFLAGS="-g -O2 -Werror"
|
|
|
|
|
|
|
|
mingw-cross-cmake:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Install cross compiler
|
|
|
|
run: |
|
|
|
|
sudo apt-get install g++-mingw-w64-x86-64
|
|
|
|
- name: Checkout sources
|
2023-10-06 11:03:33 +02:00
|
|
|
uses: actions/checkout@v4
|
2022-01-10 11:45:52 +01:00
|
|
|
- name: Build
|
|
|
|
run: |
|
|
|
|
cmake . -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_PROGRAMS=YES -DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++ -DCMAKE_CROSSCOMPILING=TRUE -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_C_FLAGS="-Werror" -DCMAKE_CXX_FLAGS="-Werror"
|
|
|
|
cmake --build build
|
|
|
|
|
|
|
|
msys-cmake:
|
|
|
|
runs-on: windows-latest
|
|
|
|
defaults:
|
|
|
|
run:
|
|
|
|
shell: msys2 {0}
|
|
|
|
steps:
|
|
|
|
- uses: msys2/setup-msys2@v2
|
|
|
|
with:
|
|
|
|
msystem: mingw64
|
|
|
|
update: true
|
|
|
|
install: >-
|
|
|
|
git
|
|
|
|
mingw-w64-x86_64-toolchain
|
|
|
|
mingw-w64-x86_64-cmake
|
|
|
|
mingw-w64-x86_64-ninja
|
|
|
|
- name: Checkout sources
|
2023-10-06 11:03:33 +02:00
|
|
|
uses: actions/checkout@v4
|
2022-01-10 11:45:52 +01:00
|
|
|
- name: Build
|
|
|
|
run: |
|
|
|
|
cmake . -G Ninja -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_PROGRAMS=YES
|
|
|
|
cmake --build build
|
|
|
|
|
|
|
|
msvc-cmake:
|
|
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
|
|
- name: Checkout sources
|
2023-10-06 11:03:33 +02:00
|
|
|
uses: actions/checkout@v4
|
2022-01-10 11:45:52 +01:00
|
|
|
- name: Build
|
|
|
|
run: |
|
|
|
|
cmake . -B build -DBUILD_PROGRAMS=YES
|
|
|
|
cmake --build build --config Release
|
|
|
|
|
|
|
|
msvc-cmake-ninja-arm:
|
|
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
|
|
- name: Checkout sources
|
2023-10-06 11:03:33 +02:00
|
|
|
uses: actions/checkout@v4
|
2022-01-10 11:45:52 +01:00
|
|
|
- name: Set up the environment
|
|
|
|
uses: ilammy/msvc-dev-cmd@v1
|
|
|
|
with:
|
|
|
|
arch: amd64_arm
|
|
|
|
- name: Build
|
|
|
|
run: |
|
|
|
|
cmake . -G Ninja -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_PROGRAMS=YES
|
|
|
|
cmake --build build
|
|
|
|
|
|
|
|
msvc-cmake-arm64:
|
|
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
|
|
- name: Checkout sources
|
2023-10-06 11:03:33 +02:00
|
|
|
uses: actions/checkout@v4
|
2022-01-10 11:45:52 +01:00
|
|
|
- name: Build
|
|
|
|
run: |
|
|
|
|
cmake . -B build -DBUILD_PROGRAMS=YES -A ARM64
|
|
|
|
cmake --build build --config Release
|
|
|
|
|
|
|
|
llvm-mingw:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Install llvm-mingw
|
|
|
|
run: |
|
|
|
|
wget https://github.com/mstorsjo/llvm-mingw/releases/download/20211002/llvm-mingw-20211002-ucrt-ubuntu-18.04-x86_64.tar.xz
|
|
|
|
tar -Jxvf llvm-mingw-20211002-ucrt-ubuntu-18.04-x86_64.tar.xz
|
|
|
|
rm llvm-mingw-*.tar.xz
|
|
|
|
sudo mv llvm-mingw-* /opt/llvm-mingw
|
|
|
|
echo /opt/llvm-mingw/bin >> $GITHUB_PATH
|
|
|
|
- name: Checkout sources
|
2023-10-06 11:03:33 +02:00
|
|
|
uses: actions/checkout@v4
|
2022-01-10 11:45:52 +01:00
|
|
|
- name: Build fdk-aac
|
|
|
|
run: |
|
|
|
|
./autogen.sh
|
|
|
|
./configure --host=aarch64-w64-mingw32 --enable-example
|
|
|
|
make -j$(nproc) CFLAGS="-g -O2 -Werror" CXXFLAGS="-g -O2 -Werror"
|
|
|
|
|
|
|
|
linux-ffmpeg:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Checkout sources
|
2023-10-06 11:03:33 +02:00
|
|
|
uses: actions/checkout@v4
|
2022-01-10 11:45:52 +01:00
|
|
|
- name: Build fdk-aac
|
|
|
|
run: |
|
|
|
|
./autogen.sh
|
|
|
|
mkdir build
|
|
|
|
cd build
|
|
|
|
../configure --enable-example --prefix=$(pwd)/../prefix
|
|
|
|
make -j$(nproc)
|
|
|
|
make -j$(nproc) install
|
|
|
|
- name: Checkout FFmpeg
|
2023-10-06 11:03:33 +02:00
|
|
|
uses: actions/checkout@v4
|
2022-01-10 11:45:52 +01:00
|
|
|
with:
|
|
|
|
repository: ffmpeg/ffmpeg
|
|
|
|
path: ffmpeg
|
|
|
|
- name: Build FFmpeg
|
|
|
|
run: |
|
|
|
|
sudo apt-get install -y nasm
|
|
|
|
cd ffmpeg
|
|
|
|
PKG_CONFIG_PATH=$(pwd)/../prefix/lib/pkgconfig ./configure --enable-libfdk-aac --enable-nonfree
|
|
|
|
make -j$(nproc)
|