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