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