]> git.sesse.net Git - casparcg/blob - modules/ffmpeg/CMakeLists.txt
[ffmpeg] Ported 2.0.7 ffmpeg producer to 2.1.0 while still keeping the usage of the...
[casparcg] / modules / ffmpeg / CMakeLists.txt
1 cmake_minimum_required (VERSION 2.6)
2 project (ffmpeg)
3
4 set(SOURCES
5                 consumer/ffmpeg_consumer.cpp
6                 consumer/streaming_consumer.cpp
7
8                 producer/audio/audio_decoder.cpp
9
10                 producer/filter/audio_filter.cpp
11                 producer/filter/filter.cpp
12
13                 producer/input/input.cpp
14
15                 producer/muxer/frame_muxer.cpp
16
17                 producer/util/flv.cpp
18                 producer/util/util.cpp
19
20                 producer/video/video_decoder.cpp
21
22                 producer/ffmpeg_producer.cpp
23                 producer/tbb_avcodec.cpp
24
25                 audio_channel_remapper.cpp
26                 ffmpeg.cpp
27                 ffmpeg_error.cpp
28                 StdAfx.cpp
29 )
30 set(HEADERS
31                 consumer/ffmpeg_consumer.h
32                 consumer/streaming_consumer.h
33
34                 producer/audio/audio_decoder.h
35
36                 producer/filter/audio_filter.h
37                 producer/filter/filter.h
38
39                 producer/input/input.h
40
41                 producer/muxer/display_mode.h
42                 producer/muxer/frame_muxer.h
43
44                 producer/util/flv.h
45                 producer/util/util.h
46
47                 producer/video/video_decoder.h
48
49                 producer/ffmpeg_producer.h
50                 producer/tbb_avcodec.h
51
52                 ffmpeg.h
53                 ffmpeg_error.h
54                 StdAfx.h
55 )
56
57 add_library(ffmpeg ${SOURCES} ${HEADERS})
58 add_precompiled_header(ffmpeg StdAfx.h FORCEINCLUDE)
59
60 include_directories(..)
61 include_directories(../..)
62 include_directories(${BOOST_INCLUDE_PATH})
63 include_directories(${TBB_INCLUDE_PATH})
64 include_directories(${FFMPEG_INCLUDE_PATH})
65 include_directories(${RXCPP_INCLUDE_PATH})
66 include_directories(${ASMLIB_INCLUDE_PATH})
67
68 set_target_properties(ffmpeg PROPERTIES FOLDER modules)
69 source_group(sources ./*)
70 source_group(sources\\consumer consumer/*)
71 source_group(sources\\producer\\audio producer/audio/*)
72 source_group(sources\\producer\\filter producer/filter/*)
73 source_group(sources\\producer\\input producer/input/*)
74 source_group(sources\\producer\\muxer producer/muxer/*)
75 source_group(sources\\producer\\util producer/util/*)
76 source_group(sources\\producer\\video producer/video/*)
77 source_group(sources\\producer producer/*)
78
79 if (MSVC)
80         target_link_libraries(ffmpeg
81                         common
82                         core
83
84                         avformat.lib
85                         avcodec.lib
86                         avutil.lib
87                         avfilter.lib
88                         avdevice.lib
89                         swscale.lib
90                         swresample.lib
91         )
92 else()
93         target_link_libraries(ffmpeg
94                         common
95                         core
96
97                         -Wl,--start-group
98                         avformat.so
99                         avcodec.so
100                         avutil.so
101                         avfilter.so
102                         avdevice.so
103                         swscale.so
104                         swresample.so
105                         postproc.so
106
107                         ass
108                         bluray
109                         crypto
110                         expat
111                         fontconfig
112                         fribidi
113                         gmp
114                         gnutls
115                         gsm
116                         hogweed
117                         ilbc
118                         modplug
119                         mp3lame
120                         nettle
121                         ogg
122                         opencore-amrnb
123                         opencore-amrwb
124                         opus
125                         rtmp
126                         ssl
127                         tasn1
128                         theoradec
129                         theoraenc
130                         vorbis
131                         vorbisenc
132                         vpx
133                         x264
134                         xavs
135                         xvidcore
136                         z
137                         -Wl,--end-group
138         )
139 endif()
140
141 casparcg_add_include_statement("modules/ffmpeg/ffmpeg.h")
142 casparcg_add_init_statement("ffmpeg::init" "ffmpeg")
143 casparcg_add_uninit_statement("ffmpeg::uninit")
144 casparcg_add_module_project("ffmpeg")
145
146 if(MSVC)
147         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/avcodec-56.dll")
148         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/avdevice-56.dll")
149         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/avfilter-5.dll")
150         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/avformat-56.dll")
151         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/avutil-54.dll")
152         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/postproc-53.dll")
153         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/swresample-1.dll")
154         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/swscale-3.dll")
155 else()
156         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libavcodec.so.56")
157         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libavdevice.so.56")
158         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libavfilter.so.5")
159         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libavformat.so.56")
160         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libavutil.so.54")
161         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libpostproc.so.53")
162         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libswresample.so.1")
163         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libswscale.so.3")
164
165         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libass.so.5")
166         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libbluray.so.1")
167         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libcrypto.so.1.0.0")
168         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libexpat.so.1")
169         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libfontconfig.so.1")
170         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libfreetype.so.6")
171         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libfribidi.so.0")
172         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libgme.so.0")
173         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libgmp.so.10")
174 #       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libgnutls-openssl.so.27")
175 #       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libgnutls-xssl.so.0")
176         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libgnutls.so.28")
177         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libgsm.so.1")
178         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libhogweed.so.2")
179         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libilbc.so.2")
180 #       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/liblzma.so.5")
181         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libmodplug.so.1")
182         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libmp3lame.so.0")
183         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libnettle.so.4")
184         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libogg.so.0")
185         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libopencore-amrnb.so.0")
186         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libopencore-amrwb.so.0")
187         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libopenjpeg.so.1")
188         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libopus.so.0")
189         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/liborc-0.4.so.0")
190 #       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/liborc-test-0.4.so.0")
191         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libpcre.so.1")
192 #       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libpcrecpp.so.0")
193 #       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libpcreposix.so.0")
194 #       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libpng.so.3")
195         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libpng12.so.0")
196         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/librtmp.so.0")
197         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libschroedinger-1.0.so.0")
198         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libsoxr-lsr.so.0")
199         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libsoxr.so.0")
200         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libspeex.so.1")
201 #       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libspeexdsp.so.1")
202         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libssl.so.1.0.0")
203         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libtasn1.so.6")
204 #       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libtheora.so.1")
205         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libtheoradec.so.1")
206         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libtheoraenc.so.1")
207         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libtwolame.so.0")
208         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libva.so.1")
209         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libvidstab.so.0.9")
210         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libvo-aacenc.so.0")
211         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libvo-amrwbenc.so.0")
212         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libvorbis.so.0")
213         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libvorbisenc.so.2")
214 #       casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libvorbisfile.so.3")
215         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libvpx.so.2")
216         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libwavpack.so.1")
217         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libwebp.so.5")
218         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libx264.so.148")
219         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libx265.so.59")
220         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libxavs.so.1")
221         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libxml2.so.2")
222         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libxvidcore.so.4")
223         casparcg_add_runtime_dependency("${FFMPEG_BIN_PATH}/libz.so.1")
224
225 endif()
226