0 | |
name: CI
|
1 | |
on: [push, pull_request]
|
2 | |
|
3 | |
jobs:
|
4 | |
linux-autotools:
|
5 | |
runs-on: ubuntu-latest
|
6 | |
steps:
|
7 | |
- name: Checkout sources
|
8 | |
uses: actions/checkout@v2
|
9 | |
- name: Build
|
10 | |
run: |
|
11 | |
./autogen.sh
|
12 | |
./configure --enable-example
|
13 | |
make -j$(nproc) CFLAGS="-g -O2 -Werror" CXXFLAGS="-g -O2 -Werror"
|
14 | |
|
15 | |
linux-cmake:
|
16 | |
runs-on: ubuntu-latest
|
17 | |
steps:
|
18 | |
- name: Checkout sources
|
19 | |
uses: actions/checkout@v2
|
20 | |
- name: Build
|
21 | |
run: |
|
22 | |
cmake . -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_PROGRAMS=YES -DCMAKE_C_FLAGS="-Werror" -DCMAKE_CXX_FLAGS="-Werror"
|
23 | |
cmake --build build
|
24 | |
|
25 | |
macos-autotools:
|
26 | |
runs-on: macos-latest
|
27 | |
steps:
|
28 | |
- name: Install autotools
|
29 | |
run: |
|
30 | |
brew install automake
|
31 | |
- name: Checkout sources
|
32 | |
uses: actions/checkout@v2
|
33 | |
- name: Build
|
34 | |
run: |
|
35 | |
./autogen.sh
|
36 | |
./configure --enable-example
|
37 | |
make -j$(sysctl -n hw.ncpu) CFLAGS="-g -O2 -Werror" CXXFLAGS="-g -O2 -Werror"
|
38 | |
|
39 | |
macos-cmake:
|
40 | |
runs-on: macos-latest
|
41 | |
steps:
|
42 | |
- name: Checkout sources
|
43 | |
uses: actions/checkout@v2
|
44 | |
- name: Build
|
45 | |
run: |
|
46 | |
cmake . -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_PROGRAMS=YES -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DCMAKE_C_FLAGS="-Werror" -DCMAKE_CXX_FLAGS="-Werror"
|
47 | |
cmake --build build
|
48 | |
|
49 | |
mingw-cross-autotools:
|
50 | |
runs-on: ubuntu-latest
|
51 | |
steps:
|
52 | |
- name: Install cross compiler
|
53 | |
run: |
|
54 | |
sudo apt-get install g++-mingw-w64-x86-64
|
55 | |
- name: Checkout sources
|
56 | |
uses: actions/checkout@v2
|
57 | |
- name: Build
|
58 | |
run: |
|
59 | |
./autogen.sh
|
60 | |
./configure --enable-example --host=x86_64-w64-mingw32
|
61 | |
make -j$(nproc) CFLAGS="-g -O2 -Werror" CXXFLAGS="-g -O2 -Werror"
|
62 | |
|
63 | |
mingw-cross-cmake:
|
64 | |
runs-on: ubuntu-latest
|
65 | |
steps:
|
66 | |
- name: Install cross compiler
|
67 | |
run: |
|
68 | |
sudo apt-get install g++-mingw-w64-x86-64
|
69 | |
- name: Checkout sources
|
70 | |
uses: actions/checkout@v2
|
71 | |
- name: Build
|
72 | |
run: |
|
73 | |
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"
|
74 | |
cmake --build build
|
75 | |
|
76 | |
msys-cmake:
|
77 | |
runs-on: windows-latest
|
78 | |
defaults:
|
79 | |
run:
|
80 | |
shell: msys2 {0}
|
81 | |
steps:
|
82 | |
- uses: msys2/setup-msys2@v2
|
83 | |
with:
|
84 | |
msystem: mingw64
|
85 | |
update: true
|
86 | |
install: >-
|
87 | |
git
|
88 | |
mingw-w64-x86_64-toolchain
|
89 | |
mingw-w64-x86_64-cmake
|
90 | |
mingw-w64-x86_64-ninja
|
91 | |
- name: Checkout sources
|
92 | |
uses: actions/checkout@v2
|
93 | |
- name: Build
|
94 | |
run: |
|
95 | |
cmake . -G Ninja -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_PROGRAMS=YES
|
96 | |
cmake --build build
|
97 | |
|
98 | |
msvc-cmake:
|
99 | |
runs-on: windows-latest
|
100 | |
steps:
|
101 | |
- name: Checkout sources
|
102 | |
uses: actions/checkout@v2
|
103 | |
- name: Build
|
104 | |
run: |
|
105 | |
cmake . -B build -DBUILD_PROGRAMS=YES
|
106 | |
cmake --build build --config Release
|
107 | |
|
108 | |
msvc-cmake-ninja-arm:
|
109 | |
runs-on: windows-latest
|
110 | |
steps:
|
111 | |
- name: Checkout sources
|
112 | |
uses: actions/checkout@v2
|
113 | |
- name: Set up the environment
|
114 | |
uses: ilammy/msvc-dev-cmd@v1
|
115 | |
with:
|
116 | |
arch: amd64_arm
|
117 | |
- name: Build
|
118 | |
run: |
|
119 | |
cmake . -G Ninja -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_PROGRAMS=YES
|
120 | |
cmake --build build
|
121 | |
|
122 | |
msvc-cmake-arm64:
|
123 | |
runs-on: windows-latest
|
124 | |
steps:
|
125 | |
- name: Checkout sources
|
126 | |
uses: actions/checkout@v2
|
127 | |
- name: Build
|
128 | |
run: |
|
129 | |
cmake . -B build -DBUILD_PROGRAMS=YES -A ARM64
|
130 | |
cmake --build build --config Release
|
131 | |
|
132 | |
llvm-mingw:
|
133 | |
runs-on: ubuntu-latest
|
134 | |
steps:
|
135 | |
- name: Install llvm-mingw
|
136 | |
run: |
|
137 | |
wget https://github.com/mstorsjo/llvm-mingw/releases/download/20211002/llvm-mingw-20211002-ucrt-ubuntu-18.04-x86_64.tar.xz
|
138 | |
tar -Jxvf llvm-mingw-20211002-ucrt-ubuntu-18.04-x86_64.tar.xz
|
139 | |
rm llvm-mingw-*.tar.xz
|
140 | |
sudo mv llvm-mingw-* /opt/llvm-mingw
|
141 | |
echo /opt/llvm-mingw/bin >> $GITHUB_PATH
|
142 | |
- name: Checkout sources
|
143 | |
uses: actions/checkout@v2
|
144 | |
- name: Build fdk-aac
|
145 | |
run: |
|
146 | |
./autogen.sh
|
147 | |
./configure --host=aarch64-w64-mingw32 --enable-example
|
148 | |
make -j$(nproc) CFLAGS="-g -O2 -Werror" CXXFLAGS="-g -O2 -Werror"
|
149 | |
|
150 | |
linux-ffmpeg:
|
151 | |
runs-on: ubuntu-latest
|
152 | |
steps:
|
153 | |
- name: Checkout sources
|
154 | |
uses: actions/checkout@v2
|
155 | |
- name: Build fdk-aac
|
156 | |
run: |
|
157 | |
./autogen.sh
|
158 | |
mkdir build
|
159 | |
cd build
|
160 | |
../configure --enable-example --prefix=$(pwd)/../prefix
|
161 | |
make -j$(nproc)
|
162 | |
make -j$(nproc) install
|
163 | |
- name: Checkout FFmpeg
|
164 | |
uses: actions/checkout@v2
|
165 | |
with:
|
166 | |
repository: ffmpeg/ffmpeg
|
167 | |
path: ffmpeg
|
168 | |
- name: Build FFmpeg
|
169 | |
run: |
|
170 | |
sudo apt-get install -y nasm
|
171 | |
cd ffmpeg
|
172 | |
PKG_CONFIG_PATH=$(pwd)/../prefix/lib/pkgconfig ./configure --enable-libfdk-aac --enable-nonfree
|
173 | |
make -j$(nproc)
|