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