-
Notifications
You must be signed in to change notification settings - Fork 91
/
ffmpeg.cmake
130 lines (129 loc) · 3.16 KB
/
ffmpeg.cmake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
ExternalProject_Add(ffmpeg
DEPENDS
amf-headers
avisynth-headers
nvcodec-headers
bzip2
lame
lcms2
openssl
libssh
libsrt
libass
libbluray
libdvdnav
libdvdread
libmodplug
libpng
libsoxr
libbs2b
libvpx
libwebp
libzimg
libmysofa
fontconfig
harfbuzz
opus
speex
vorbis
x264
${ffmpeg_x265}
xvidcore
libxml2
libvpl
libopenmpt
libjxl
shaderc
libplacebo
libzvbi
libaribcaption
aom
rav1e
dav1d
vapoursynth
uavs3d
davs2
rubberband
libva
openal-soft
GIT_REPOSITORY https://github.com/FFmpeg/FFmpeg.git
SOURCE_DIR ${SOURCE_LOCATION}
GIT_CLONE_FLAGS "--sparse --filter=tree:0"
GIT_CLONE_POST_COMMAND "sparse-checkout set --no-cone /* !tests/ref/fate"
UPDATE_COMMAND ""
CONFIGURE_COMMAND ${EXEC} CONF=1 <SOURCE_DIR>/configure
--cross-prefix=${TARGET_ARCH}-
--prefix=${MINGW_INSTALL_PREFIX}
--arch=${TARGET_CPU}
--target-os=mingw32
--pkg-config-flags=--static
--enable-cross-compile
--enable-runtime-cpudetect
--enable-gpl
--enable-version3
--enable-postproc
--enable-avisynth
--enable-vapoursynth
--enable-libass
--enable-libbluray
--enable-libdvdnav
--enable-libdvdread
--enable-libfreetype
--enable-libfribidi
--enable-libfontconfig
--enable-libharfbuzz
--enable-libmodplug
--enable-libopenmpt
--enable-libmp3lame
--enable-lcms2
--enable-libopus
--enable-libsoxr
--enable-libspeex
--enable-libvorbis
--enable-libbs2b
--enable-librubberband
--enable-libvpx
--enable-libwebp
--enable-libx264
--enable-libx265
--enable-libaom
--enable-librav1e
--enable-libdav1d
--enable-libdavs2
--enable-libuavs3d
--enable-libxvid
--enable-libzimg
--enable-openssl
--enable-libxml2
--enable-libmysofa
--enable-libssh
--enable-libsrt
--enable-libvpl
--enable-libjxl
--enable-libplacebo
--enable-libshaderc
--enable-libzvbi
--enable-libaribcaption
--enable-cuda-llvm
--enable-cuvid
--enable-nvdec
--enable-nvenc
--enable-amf
--enable-openal
--enable-opengl
--disable-doc
--disable-ffplay
--disable-ffprobe
--enable-vaapi
--disable-vdpau
--disable-videotoolbox
--disable-decoder=libaom_av1
${ffmpeg_lto}
--extra-cflags='-Wno-error=int-conversion'
"--extra-libs='${ffmpeg_extra_libs}'" # -lstdc++ / -lc++ needs by libjxl and shaderc
BUILD_COMMAND ${MAKE}
INSTALL_COMMAND ${MAKE} install
LOG_DOWNLOAD 1 LOG_UPDATE 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1
)
force_rebuild_git(ffmpeg)
cleanup(ffmpeg install)