== FFMPEG ==
[blender-staging.git] / intern / audaspace / CMakeLists.txt
1 # $Id$
2 # ***** BEGIN LGPL LICENSE BLOCK *****
3 #
4 # Copyright 2009 Jörg Hermann Müller
5 #
6 # This file is part of AudaSpace.
7 #
8 # AudaSpace is free software: you can redistribute it and/or modify
9 # it under the terms of the GNU Lesser General Public License as published by
10 # the Free Software Foundation, either version 3 of the License, or
11 # (at your option) any later version.
12 #
13 # AudaSpace is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 # GNU Lesser General Public License for more details.
17 #
18 # You should have received a copy of the GNU Lesser General Public License
19 # along with AudaSpace.  If not, see <http://www.gnu.org/licenses/>.
20 #
21 # ***** END LGPL LICENSE BLOCK *****
22
23 set(INC
24         .
25         intern
26         FX SRC
27         ${PTHREADS_INC}
28         ${LIBSAMPLERATE_INC}
29         ../ffmpeg
30 )
31
32 set(SRC
33         FX/AUD_AccumulatorFactory.cpp
34         FX/AUD_BaseIIRFilterReader.cpp
35         FX/AUD_ButterworthFactory.cpp
36         FX/AUD_CallbackIIRFilterReader.cpp
37         FX/AUD_DelayFactory.cpp
38         FX/AUD_DelayReader.cpp
39         FX/AUD_DoubleFactory.cpp
40         FX/AUD_DoubleReader.cpp
41         FX/AUD_EffectFactory.cpp
42         FX/AUD_EffectReader.cpp
43         FX/AUD_EnvelopeFactory.cpp
44         FX/AUD_FaderFactory.cpp
45         FX/AUD_FaderReader.cpp
46         FX/AUD_HighpassFactory.cpp
47         FX/AUD_IIRFilterFactory.cpp
48         FX/AUD_IIRFilterReader.cpp
49         FX/AUD_LimiterFactory.cpp
50         FX/AUD_LimiterReader.cpp
51         FX/AUD_LoopFactory.cpp
52         FX/AUD_LoopReader.cpp
53         FX/AUD_LowpassFactory.cpp
54         FX/AUD_PingPongFactory.cpp
55         FX/AUD_PitchFactory.cpp
56         FX/AUD_PitchReader.cpp
57         FX/AUD_RectifyFactory.cpp
58         FX/AUD_ReverseFactory.cpp
59         FX/AUD_ReverseReader.cpp
60         FX/AUD_SquareFactory.cpp
61         FX/AUD_SumFactory.cpp
62         FX/AUD_SuperposeFactory.cpp
63         FX/AUD_SuperposeReader.cpp
64         FX/AUD_VolumeFactory.cpp
65         intern/AUD_3DMath.h
66         intern/AUD_Buffer.cpp
67         intern/AUD_Buffer.h
68         intern/AUD_BufferReader.cpp
69         intern/AUD_BufferReader.h
70         intern/AUD_C-API.cpp
71         intern/AUD_C-API.h
72         intern/AUD_ChannelMapperFactory.cpp
73         intern/AUD_ChannelMapperFactory.h
74         intern/AUD_ChannelMapperReader.cpp
75         intern/AUD_ChannelMapperReader.h
76         intern/AUD_ConverterFactory.cpp
77         intern/AUD_ConverterFactory.h
78         intern/AUD_ConverterFunctions.cpp
79         intern/AUD_ConverterFunctions.h
80         intern/AUD_ConverterReader.cpp
81         intern/AUD_ConverterReader.h
82         intern/AUD_DefaultMixer.cpp
83         intern/AUD_DefaultMixer.h
84         intern/AUD_FileFactory.cpp
85         intern/AUD_FileFactory.h
86         intern/AUD_I3DDevice.h
87         intern/AUD_IDevice.h
88         intern/AUD_IFactory.h
89         intern/AUD_IReader.h
90         intern/AUD_LinearResampleFactory.cpp
91         intern/AUD_LinearResampleFactory.h
92         intern/AUD_LinearResampleReader.cpp
93         intern/AUD_LinearResampleReader.h
94         intern/AUD_Mixer.cpp
95         intern/AUD_Mixer.h
96         intern/AUD_MixerFactory.cpp
97         intern/AUD_MixerFactory.h
98         intern/AUD_NULLDevice.cpp
99         intern/AUD_NULLDevice.h
100         intern/AUD_PyInit.h
101         intern/AUD_ReadDevice.cpp
102         intern/AUD_ReadDevice.h
103         intern/AUD_Reference.h
104         intern/AUD_ResampleFactory.h
105         intern/AUD_SequencerFactory.cpp
106         intern/AUD_SequencerFactory.h
107         intern/AUD_SequencerReader.cpp
108         intern/AUD_SequencerReader.h
109         intern/AUD_SilenceFactory.cpp
110         intern/AUD_SilenceFactory.h
111         intern/AUD_SilenceReader.cpp
112         intern/AUD_SilenceReader.h
113         intern/AUD_SinusFactory.cpp
114         intern/AUD_SinusFactory.h
115         intern/AUD_SinusReader.cpp
116         intern/AUD_SinusReader.h
117         intern/AUD_SoftwareDevice.cpp
118         intern/AUD_SoftwareDevice.h
119         intern/AUD_Space.h
120         intern/AUD_StreamBufferFactory.cpp
121         intern/AUD_StreamBufferFactory.h
122
123         FX/AUD_AccumulatorFactory.h
124         FX/AUD_BaseIIRFilterReader.h
125         FX/AUD_ButterworthFactory.h
126         FX/AUD_CallbackIIRFilterReader.h
127         FX/AUD_DelayFactory.h
128         FX/AUD_DelayReader.h
129         FX/AUD_DoubleFactory.h
130         FX/AUD_DoubleReader.h
131         FX/AUD_EffectFactory.h
132         FX/AUD_EffectReader.h
133         FX/AUD_EnvelopeFactory.h
134         FX/AUD_FaderFactory.h
135         FX/AUD_FaderReader.h
136         FX/AUD_HighpassFactory.h
137         FX/AUD_IIRFilterFactory.h
138         FX/AUD_IIRFilterReader.h
139         FX/AUD_LimiterFactory.h
140         FX/AUD_LimiterReader.h
141         FX/AUD_LoopFactory.h
142         FX/AUD_LoopReader.h
143         FX/AUD_LowpassFactory.h
144         FX/AUD_PingPongFactory.h
145         FX/AUD_PitchFactory.h
146         FX/AUD_PitchReader.h
147         FX/AUD_RectifyFactory.h
148         FX/AUD_ReverseFactory.h
149         FX/AUD_ReverseReader.h
150         FX/AUD_SquareFactory.h
151         FX/AUD_SumFactory.h
152         FX/AUD_SuperposeFactory.h
153         FX/AUD_SuperposeReader.h
154         FX/AUD_VolumeFactory.h
155 )
156
157 if(WITH_CODEC_FFMPEG)
158         add_definitions(-DWITH_FFMPEG)
159         list(APPEND INC ffmpeg ${FFMPEG_INC})
160         set(FFMPEGSRC
161                 ffmpeg/AUD_FFMPEGFactory.cpp
162                 ffmpeg/AUD_FFMPEGReader.cpp
163
164                 ffmpeg/AUD_FFMPEGFactory.h
165                 ffmpeg/AUD_FFMPEGReader.h
166         )
167 endif()
168
169 if(WITH_SDL)
170         add_definitions(-DWITH_SDL)
171         list(APPEND INC SDL ${SDL_INCLUDE_DIR})
172         set(SDLSRC
173                 SDL/AUD_SDLDevice.cpp
174
175                 SDL/AUD_SDLDevice.h
176         )
177 endif()
178
179 if(WITH_OPENAL)
180         add_definitions(-DWITH_OPENAL)
181         list(APPEND INC OpenAL ${OPENAL_INCLUDE_DIR})
182         set(OPENALSRC
183                 OpenAL/AUD_OpenALDevice.cpp
184
185                 OpenAL/AUD_OpenALDevice.h
186         )       
187 endif()
188
189 if(WITH_JACK)
190         add_definitions(-DWITH_JACK)
191         list(APPEND INC jack ${JACK_INC})
192         set(JACKSRC
193                 jack/AUD_JackDevice.cpp
194
195                 jack/AUD_JackDevice.h
196         )       
197 endif()
198
199 if(WITH_CODEC_SNDFILE)
200         add_definitions(-DWITH_SNDFILE)
201         list(APPEND INC sndfile ${SNDFILE_INC})
202         set(SNDFILESRC
203                 sndfile/AUD_SndFileFactory.cpp
204                 sndfile/AUD_SndFileReader.cpp
205
206                 sndfile/AUD_SndFileFactory.h
207                 sndfile/AUD_SndFileReader.h
208         )
209 endif()
210
211 if(WITH_SAMPLERATE)
212         add_definitions(-DWITH_SAMPLERATE)
213         set(SRCFILESRC
214                 SRC/AUD_SRCResampleFactory.cpp
215                 SRC/AUD_SRCResampleReader.cpp
216
217                 SRC/AUD_SRCResampleFactory.h
218                 SRC/AUD_SRCResampleReader.h
219         )
220 endif()
221
222 if(WITH_FFTW3 AND FALSE)
223         add_definitions(-DWITH_FFTW3)
224         list(APPEND INC fftw ${FFTW3_INC})
225         set(FFTW3SRC
226                 fftw/AUD_BandPassFactory.cpp
227                 fftw/AUD_BandPassReader.cpp
228
229                 fftw/AUD_BandPassFactory.h
230                 fftw/AUD_BandPassReader.h
231         )
232 endif()
233
234 if(WITH_PYTHON)
235         list(APPEND INC Python ${PYTHON_INCLUDE_DIRS})
236         set(PYTHONSRC
237                 Python/AUD_PyAPI.cpp
238
239                 Python/AUD_PyAPI.h
240         )
241         add_definitions(-DWITH_PYTHON)
242 endif()
243
244 set(SRC
245         ${SRC}
246         ${FFMPEGSRC}
247         ${SNDFILESRC}
248         ${SRCFILESRC}
249         ${FFTW3SRC}
250         ${SDLSRC}
251         ${OPENALSRC}
252         ${JACKSRC}
253         ${PYTHONSRC}
254 )
255
256 blender_add_lib(bf_intern_audaspace "${SRC}" "${INC}")