Merging with trunk up to r38631.
[blender.git] / intern / audaspace / CMakeLists.txt
1 # $Id$
2 # ***** BEGIN LGPL LICENSE BLOCK *****
3 #
4 # Copyright 2009 Jrg Hermann Mller
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         FX
26         SRC
27         intern
28         ../ffmpeg
29 )
30
31 set(INC_SYS
32         ${PTHREADS_INCLUDE_DIRS}
33 )
34
35 set(SRC
36         FX/AUD_AccumulatorFactory.cpp
37         FX/AUD_BaseIIRFilterReader.cpp
38         FX/AUD_ButterworthFactory.cpp
39         FX/AUD_CallbackIIRFilterReader.cpp
40         FX/AUD_DelayFactory.cpp
41         FX/AUD_DelayReader.cpp
42         FX/AUD_DoubleFactory.cpp
43         FX/AUD_DoubleReader.cpp
44         FX/AUD_DynamicIIRFilterFactory.cpp
45         FX/AUD_DynamicIIRFilterReader.cpp
46         FX/AUD_EffectFactory.cpp
47         FX/AUD_EffectReader.cpp
48         FX/AUD_EnvelopeFactory.cpp
49         FX/AUD_FaderFactory.cpp
50         FX/AUD_FaderReader.cpp
51         FX/AUD_HighpassFactory.cpp
52         FX/AUD_IIRFilterFactory.cpp
53         FX/AUD_IIRFilterReader.cpp
54         FX/AUD_LimiterFactory.cpp
55         FX/AUD_LimiterReader.cpp
56         FX/AUD_LoopFactory.cpp
57         FX/AUD_LoopReader.cpp
58         FX/AUD_LowpassFactory.cpp
59         FX/AUD_PingPongFactory.cpp
60         FX/AUD_PitchFactory.cpp
61         FX/AUD_PitchReader.cpp
62         FX/AUD_RectifyFactory.cpp
63         FX/AUD_ReverseFactory.cpp
64         FX/AUD_ReverseReader.cpp
65         FX/AUD_SquareFactory.cpp
66         FX/AUD_SumFactory.cpp
67         FX/AUD_SuperposeFactory.cpp
68         FX/AUD_SuperposeReader.cpp
69         FX/AUD_VolumeFactory.cpp
70         intern/AUD_3DMath.h
71         intern/AUD_Buffer.cpp
72         intern/AUD_Buffer.h
73         intern/AUD_BufferReader.cpp
74         intern/AUD_BufferReader.h
75         intern/AUD_C-API.cpp
76         intern/AUD_C-API.h
77         intern/AUD_ChannelMapperFactory.cpp
78         intern/AUD_ChannelMapperFactory.h
79         intern/AUD_ChannelMapperReader.cpp
80         intern/AUD_ChannelMapperReader.h
81         intern/AUD_ConverterFactory.cpp
82         intern/AUD_ConverterFactory.h
83         intern/AUD_ConverterFunctions.cpp
84         intern/AUD_ConverterFunctions.h
85         intern/AUD_ConverterReader.cpp
86         intern/AUD_ConverterReader.h
87         intern/AUD_FileFactory.cpp
88         intern/AUD_FileFactory.h
89         intern/AUD_I3DDevice.h
90         intern/AUD_I3DHandle.h
91         intern/AUD_IDevice.h
92         intern/AUD_IFactory.h
93         intern/AUD_IHandle.h
94         intern/AUD_IReader.h
95         intern/AUD_LinearResampleFactory.cpp
96         intern/AUD_LinearResampleFactory.h
97         intern/AUD_LinearResampleReader.cpp
98         intern/AUD_LinearResampleReader.h
99         intern/AUD_Mixer.cpp
100         intern/AUD_Mixer.h
101         intern/AUD_MixerFactory.cpp
102         intern/AUD_MixerFactory.h
103         intern/AUD_NULLDevice.cpp
104         intern/AUD_NULLDevice.h
105         intern/AUD_PyInit.h
106         intern/AUD_ReadDevice.cpp
107         intern/AUD_ReadDevice.h
108         intern/AUD_Reference.h
109         intern/AUD_ReferenceHandler.cpp
110         intern/AUD_ResampleReader.cpp
111         intern/AUD_ResampleReader.h
112         intern/AUD_SequencerFactory.cpp
113         intern/AUD_SequencerFactory.h
114         intern/AUD_SequencerReader.cpp
115         intern/AUD_SequencerReader.h
116         intern/AUD_SilenceFactory.cpp
117         intern/AUD_SilenceFactory.h
118         intern/AUD_SilenceReader.cpp
119         intern/AUD_SilenceReader.h
120         intern/AUD_SinusFactory.cpp
121         intern/AUD_SinusFactory.h
122         intern/AUD_SinusReader.cpp
123         intern/AUD_SinusReader.h
124         intern/AUD_SoftwareDevice.cpp
125         intern/AUD_SoftwareDevice.h
126         intern/AUD_Space.h
127         intern/AUD_StreamBufferFactory.cpp
128         intern/AUD_StreamBufferFactory.h
129
130         FX/AUD_AccumulatorFactory.h
131         FX/AUD_BaseIIRFilterReader.h
132         FX/AUD_ButterworthFactory.h
133         FX/AUD_CallbackIIRFilterReader.h
134         FX/AUD_DelayFactory.h
135         FX/AUD_DelayReader.h
136         FX/AUD_DoubleFactory.h
137         FX/AUD_DoubleReader.h
138         FX/AUD_DynamicIIRFilterFactory.h
139         FX/AUD_DynamicIIRFilterReader.h
140         FX/AUD_EffectFactory.h
141         FX/AUD_EffectReader.h
142         FX/AUD_EnvelopeFactory.h
143         FX/AUD_FaderFactory.h
144         FX/AUD_FaderReader.h
145         FX/AUD_HighpassFactory.h
146         FX/AUD_IIRFilterFactory.h
147         FX/AUD_IIRFilterReader.h
148         FX/AUD_LimiterFactory.h
149         FX/AUD_LimiterReader.h
150         FX/AUD_LoopFactory.h
151         FX/AUD_LoopReader.h
152         FX/AUD_LowpassFactory.h
153         FX/AUD_PingPongFactory.h
154         FX/AUD_PitchFactory.h
155         FX/AUD_PitchReader.h
156         FX/AUD_RectifyFactory.h
157         FX/AUD_ReverseFactory.h
158         FX/AUD_ReverseReader.h
159         FX/AUD_SquareFactory.h
160         FX/AUD_SumFactory.h
161         FX/AUD_SuperposeFactory.h
162         FX/AUD_SuperposeReader.h
163         FX/AUD_VolumeFactory.h
164 )
165
166 if(WITH_CODEC_FFMPEG)
167         add_definitions(-DWITH_FFMPEG)
168         list(APPEND INC
169                 ffmpeg
170         )
171         list(APPEND INC_SYS
172                 ${FFMPEG_INCLUDE_DIRS}
173         )
174         list(APPEND SRC
175                 ffmpeg/AUD_FFMPEGFactory.cpp
176                 ffmpeg/AUD_FFMPEGReader.cpp
177
178                 ffmpeg/AUD_FFMPEGFactory.h
179                 ffmpeg/AUD_FFMPEGReader.h
180         )
181 endif()
182
183 if(WITH_SDL)
184         add_definitions(-DWITH_SDL)
185         list(APPEND INC
186                 SDL
187         )
188         list(APPEND INC_SYS
189                 ${SDL_INCLUDE_DIR}
190         )
191         list(APPEND SRC
192                 SDL/AUD_SDLDevice.cpp
193
194                 SDL/AUD_SDLDevice.h
195         )
196 endif()
197
198 if(WITH_OPENAL)
199         add_definitions(-DWITH_OPENAL)
200         list(APPEND INC
201                 OpenAL
202         )
203         list(APPEND INC_SYS
204                 ${OPENAL_INCLUDE_DIR}
205         )
206         list(APPEND SRC
207                 OpenAL/AUD_OpenALDevice.cpp
208
209                 OpenAL/AUD_OpenALDevice.h
210         )
211 endif()
212
213 if(WITH_JACK)
214         add_definitions(-DWITH_JACK)
215         list(APPEND INC
216                 jack
217         )
218         list(APPEND INC_SYS
219                 ${JACK_INCLUDE_DIRS}
220         )
221         list(APPEND SRC
222                 jack/AUD_JackDevice.cpp
223
224                 jack/AUD_JackDevice.h
225         )       
226 endif()
227
228 if(WITH_CODEC_SNDFILE)
229         add_definitions(-DWITH_SNDFILE)
230         list(APPEND INC
231                 sndfile
232         )
233         list(APPEND INC_SYS
234                 ${SNDFILE_INCLUDE_DIRS}
235         )
236         list(APPEND SRC
237                 sndfile/AUD_SndFileFactory.cpp
238                 sndfile/AUD_SndFileReader.cpp
239
240                 sndfile/AUD_SndFileFactory.h
241                 sndfile/AUD_SndFileReader.h
242         )
243 endif()
244
245 if(WITH_SAMPLERATE)
246         add_definitions(-DWITH_SAMPLERATE)
247         list(APPEND INC_SYS
248                 ${SAMPLERATE_INCLUDE_DIRS}
249         )
250         list(APPEND SRC
251                 SRC/AUD_SRCResampleFactory.cpp
252                 SRC/AUD_SRCResampleReader.cpp
253
254                 SRC/AUD_SRCResampleFactory.h
255                 SRC/AUD_SRCResampleReader.h
256         )
257 endif()
258
259 if(WITH_FFTW3 AND FALSE)
260         add_definitions(-DWITH_FFTW3)
261         list(APPEND INC
262                 fftw
263         )
264         list(APPEND INC_SYS
265                 ${FFTW3_INCLUDE_DIRS}
266         )
267         list(APPEND SRC
268                 fftw/AUD_BandPassFactory.cpp
269                 fftw/AUD_BandPassReader.cpp
270
271                 fftw/AUD_BandPassFactory.h
272                 fftw/AUD_BandPassReader.h
273         )
274 endif()
275
276 if(WITH_PYTHON)
277         list(APPEND INC
278                 Python
279         )
280         list(APPEND INC_SYS
281                 ${PYTHON_INCLUDE_DIRS}
282         )
283         list(APPEND SRC
284                 Python/AUD_PyAPI.cpp
285
286                 Python/AUD_PyAPI.h
287         )
288         add_definitions(-DWITH_PYTHON)
289 endif()
290
291 blender_add_lib(bf_intern_audaspace "${SRC}" "${INC}" "${INC_SYS}")