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