]> git.sesse.net Git - casparcg/blob - modules/ffmpeg/CMakeLists.txt
* Working server startup 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
7                 producer/audio/audio_decoder.cpp
8
9                 producer/filter/filter.cpp
10
11                 producer/input/input.cpp
12
13                 producer/muxer/frame_muxer.cpp
14
15                 producer/util/flv.cpp
16                 producer/util/util.cpp
17
18                 producer/video/video_decoder.cpp
19
20                 producer/ffmpeg_producer.cpp
21                 producer/tbb_avcodec.cpp
22
23                 ffmpeg.cpp
24                 ffmpeg_error.cpp
25                 StdAfx.cpp
26 )
27 set(HEADERS
28                 consumer/ffmpeg_consumer.h
29
30                 producer/audio/audio_decoder.h
31
32                 producer/filter/filter.h
33
34                 producer/input/input.h
35
36                 producer/muxer/display_mode.h
37                 producer/muxer/frame_muxer.h
38
39                 producer/util/flv.h
40                 producer/util/util.h
41
42                 producer/video/video_decoder.h
43
44                 producer/ffmpeg_producer.h
45                 producer/tbb_avcodec.h
46
47                 ffmpeg.h
48                 ffmpeg_error.h
49                 StdAfx.h
50 )
51
52 add_library(ffmpeg ${SOURCES} ${HEADERS})
53 add_precompiled_header(ffmpeg StdAfx.h FORCEINCLUDE)
54
55 include_directories(..)
56 include_directories(../..)
57 include_directories(${BOOST_INCLUDE_PATH})
58 include_directories(${TBB_INCLUDE_PATH})
59 include_directories(${FFMPEG_INCLUDE_PATH})
60 include_directories(${RXCPP_INCLUDE_PATH})
61 include_directories(${ASMLIB_INCLUDE_PATH})
62
63 set_target_properties(ffmpeg PROPERTIES FOLDER modules)
64 source_group(sources ./*)
65 source_group(sources\\consumer consumer/*)
66 source_group(sources\\producer\\audio producer/audio/*)
67 source_group(sources\\producer\\filter producer/filter/*)
68 source_group(sources\\producer\\input producer/input/*)
69 source_group(sources\\producer\\muxer producer/muxer/*)
70 source_group(sources\\producer\\util producer/util/*)
71 source_group(sources\\producer\\video producer/video/*)
72 source_group(sources\\producer producer/*)
73
74 if (MSVC)
75         target_link_libraries(ffmpeg
76                         common
77                         core
78
79                         avformat.lib
80                         avcodec.lib
81                         avutil.lib
82                         avfilter.lib
83                         swscale.lib
84                         swresample.lib
85         )
86 else()
87         target_link_libraries(ffmpeg
88                         common
89                         core
90
91                         -Wl,--start-group
92                         avformat.so
93                         avcodec.so
94                         avutil.so
95                         avfilter.so
96                         swscale.so
97                         swresample.so
98                         postproc.so
99
100                         bz2.a
101                         mp3lame.a
102                         opus.a
103                         png.a
104                         theora.a
105                         theoradec.a
106                         theoraenc.a
107                         vorbis.a
108                         vorbisenc.a
109                         vorbisfile.a
110                         ogg.a
111                         vpx.a
112                         x264.a
113                         xvidcore.a
114                         yasm.a
115                         z.a
116                         -Wl,--end-group
117         )
118 endif()
119
120 casparcg_add_include_statement("modules/ffmpeg/ffmpeg.h")
121 casparcg_add_init_statement("ffmpeg::init" "ffmpeg")
122 casparcg_add_uninit_statement("ffmpeg::uninit")
123 casparcg_add_module_project("ffmpeg")