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