forked from kronihias/ambix
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
407 lines (316 loc) · 15.2 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
cmake_minimum_required(VERSION 2.8)
cmake_policy(SET CMP0026 OLD) # supress warnings regarding JUCE STATIC LOCATION
################################################
#set name
PROJECT(ambix_plugin_suite)
################################################
#version
INCLUDE(VERSION)
ADD_DEFINITIONS(-DVERSION=${VERSION})
################################################
#choices at compile time
SET(AMBI_ORDER 5 CACHE STRING "Ambisonic Order")
SET(WITH_ADVANCED_CONTROL TRUE CACHE BOOL "movement speed automation control for encoders")
SET(WITH_OSC TRUE CACHE BOOL "build in OSC functionallity")
SET(NUM_OUTPUTS_DECODER 48 CACHE STRING "output channels for decoder")
SET(NUM_FILTERS 8 CACHE STRING "number of directional filters that can be controlled for directional_loudness")
SET(NUM_FILTERS_VMIC 8 CACHE STRING "number of directional filters (==outputs) for vmic")
SET(BUILD_STANDALONE TRUE CACHE BOOL "build standalone application (for those with editor)")
SET(BUILD_VST TRUE CACHE BOOL "build VST plugins")
IF (APPLE)
SET(BUILD_AU FALSE CACHE BOOL "build AudioUnit plugins (OSX only)")
MARK_AS_ADVANCED(BUILD_AU) # AU is not working correctly... and AU SDK has to be modified as well.
ENDIF (APPLE)
IF(UNIX AND NOT APPLE AND NOT ANDROID)
SET(BUILD_LV2 FALSE CACHE BOOL "build LV2 plugins")
ENDIF(UNIX AND NOT APPLE AND NOT ANDROID)
IF(BUILD_STANDALONE)
IF(UNIX AND NOT APPLE AND NOT ANDROID)
SET(JUCE_JACK TRUE CACHE BOOL "build standalone app with Jack support")
SET(JUCE_ALSA TRUE CACHE BOOL "build standalone app with ALSA support")
ENDIF(UNIX AND NOT APPLE AND NOT ANDROID)
IF(WIN32)
SET(JUCE_ASIO TRUE CACHE BOOL "build standalone app with ASIO support (you need the Steinberg ASIO SDK)")
ENDIF(WIN32)
ENDIF(BUILD_STANDALONE)
#########
# preprocessor flags
ADD_DEFINITIONS(-DAMBI_ORDER=${AMBI_ORDER})
# standalone filter 1 to avoid warning
ADD_DEFINITIONS(-DJUCE_STANDALONE_APPLICATION=1)
# boolean need to be treated special
IF(WITH_ADVANCED_CONTROL)
ADD_DEFINITIONS(-DWITH_ADVANCED_CONTROL=1)
ELSEIF(WITH_ADVANCED_CONTROL)
ADD_DEFINITIONS(-DWITH_ADVANCED_CONTROL=0)
ENDIF(WITH_ADVANCED_CONTROL)
IF(WITH_OSC)
ADD_DEFINITIONS(-DWITH_OSC=1)
ELSEIF(WITH_OSC)
ADD_DEFINITIONS(-DWITH_OSC=0)
ENDIF(WITH_OSC)
ADD_DEFINITIONS(-DNUM_OUTPUTS=${NUM_OUTPUTS_DECODER})
ADD_DEFINITIONS(-DNUM_FILTERS=${NUM_FILTERS})
ADD_DEFINITIONS(-DNUM_FILTERS_VMIC=${NUM_FILTERS_VMIC})
IF(BUILD_VST)
ADD_DEFINITIONS(-DJucePlugin_Build_VST=1)
ELSEIF(BUILD_VST)
ADD_DEFINITIONS(-DJucePlugin_Build_VST=0)
ENDIF(BUILD_VST)
IF(BUILD_AU)
ADD_DEFINITIONS(-DJucePlugin_Build_AU=1)
ELSEIF(BUILD_AU)
ADD_DEFINITIONS(-DJucePlugin_Build_AU=0)
ENDIF(BUILD_AU)
IF(BUILD_LV2)
ADD_DEFINITIONS(-DJucePlugin_Build_LV2=1)
ELSEIF(BUILD_LV2)
ADD_DEFINITIONS(-DJucePlugin_Build_LV2=0)
ENDIF(BUILD_LV2)
IF (JUCE_JACK)
ADD_DEFINITIONS(-DJUCE_JACK=1)
ENDIF (JUCE_JACK)
IF (JUCE_ALSA)
ADD_DEFINITIONS(-DJUCE_ALSA=1)
ENDIF (JUCE_ALSA)
IF (JUCE_ASIO)
ADD_DEFINITIONS(-DJUCE_ASIO=1)
SET(ASIO_SDK_DIR ${CMAKE_CURRENT_SOURCE_DIR}/ASIOSDK2.3 CACHE FILEPATH "specify the path of the ASIO 2.3 SDK")
INCLUDE_DIRECTORIES(BEFORE ${ASIO_SDK_DIR}/common)
ENDIF (JUCE_ASIO)
IF (WITH_ZITA_CONVOLVER)
ADD_DEFINITIONS(-DUSE_ZITA_CONVOLVER=1)
ENDIF(WITH_ZITA_CONVOLVER)
# set release and optimization flags
# SET(CMAKE_C_FLAGS_RELEASE "-Os") # use small size?
# SET(CMAKE_CXX_FLAGS_RELEASE "-Os") # use small size?
IF(APPLE)
ADD_DEFINITIONS(
-Wno-c++11-extensions # supress c++11 warnings
)
ENDIF(APPLE)
ADD_DEFINITIONS(-DNDEBUG=1)
ADD_DEFINITIONS(-D_NDEBUG=1)
#save path for later
SET (SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR})
SET (BIN_DIR ${CMAKE_CURRENT_BINARY_DIR})
IF(APPLE)
SET(CMAKE_BUILD_TYPE MinSizeRel)
SET( CMAKE_OSX_ARCHITECTURES i386;x86_64 )
SET( CMAKE_OSX_DEPLOYMENT_TARGET 10.5 )
SET ( LINK_FLAGS MINSIZEREL "-dead_strip" )
# SET( CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL "-dead_strip" )
# SET( CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL "-dead_strip" )
# SET( CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "-dead_strip" )
ELSE (APPLE)
SET(CMAKE_BUILD_TYPE Release)
ENDIF (APPLE)
################################################
# VST SDK
IF (BUILD_VST)
SET(VSTSDK_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/vstsdk2.4 CACHE FILEPATH "specify the path of the VST 2.4 SDK")
INCLUDE_DIRECTORIES(BEFORE ${VSTSDK_INCLUDE_DIR})
SET(VSTSDK_PLUGIN_SOURCE
${VSTSDK_INCLUDE_DIR}/public.sdk/source/vst2.x/audioeffectx.cpp
${VSTSDK_INCLUDE_DIR}/public.sdk/source/vst2.x/audioeffect.cpp
${VSTSDK_INCLUDE_DIR}/public.sdk/source/vst2.x/vstplugmain.cpp
)
ENDIF(BUILD_VST)
################################################
# AUDIO UNIT
IF (BUILD_AU)
## you have to get the AU SDK especially and even patch it! thank you apple!
## http://www.juce.com/forum/topic/aus-xcode
## or here: http://teragonaudio.com/article/Building-AudioUnits-with-modern-Mac-OSX.html
SET(AU_INCLUDE_DIR /Applications/Xcode.app/Contents/Developer/Extras/CoreAudio CACHE FILEPATH "specify the path of the CoreAudio SDK")
MARK_AS_ADVANCED(AU_INCLUDE_DIR)
INCLUDE_DIRECTORIES(BEFORE ${AU_INCLUDE_DIR}/PublicUtility)
INCLUDE_DIRECTORIES(BEFORE ${AU_INCLUDE_DIR}/AudioUnits/AUPublic/Utility)
INCLUDE_DIRECTORIES(BEFORE ${AU_INCLUDE_DIR}/AudioUnits/AUPublic/AUBase)
INCLUDE_DIRECTORIES(BEFORE ${AU_INCLUDE_DIR}/AudioUnits/AUPublic/OtherBases)
INCLUDE_DIRECTORIES(BEFORE ${AU_INCLUDE_DIR}/AudioUnits/AUPublic/AUCarbonViewBase)
INCLUDE_DIRECTORIES(BEFORE ${AU_INCLUDE_DIR}/AudioUnits/AUPublic/AUViewBase)
SET(AU_PLUGIN_SOURCE
${AU_INCLUDE_DIR}/AudioUnits/AUPublic/AUBase/AUBase.cpp
${AU_INCLUDE_DIR}/AudioUnits/AUPublic/Utility/AUBuffer.cpp
${AU_INCLUDE_DIR}/AudioUnits/AUPublic/AUCarbonViewBase/AUCarbonViewBase.cpp
${AU_INCLUDE_DIR}/AudioUnits/AUPublic/AUCarbonViewBase/AUCarbonViewControl.cpp
${AU_INCLUDE_DIR}/AudioUnits/AUPublic/AUCarbonViewBase/AUCarbonViewDispatch.cpp
${AU_INCLUDE_DIR}/AudioUnits/AUPublic/AUBase/AUDispatch.cpp
${AU_INCLUDE_DIR}/AudioUnits/AUPublic/OtherBases/AUEffectBase.cpp
${AU_INCLUDE_DIR}/AudioUnits/AUPublic/AUBase/AUInputElement.cpp
${AU_INCLUDE_DIR}/AudioUnits/AUPublic/OtherBases/AUMIDIBase.cpp
${AU_INCLUDE_DIR}/AudioUnits/AUPublic/OtherBases/AUMIDIEffectBase.cpp
${AU_INCLUDE_DIR}/AudioUnits/AUPublic/OtherBases/AUOutputBase.cpp
${AU_INCLUDE_DIR}/AudioUnits/AUPublic/AUBase/AUOutputElement.cpp
${AU_INCLUDE_DIR}/AudioUnits/AUPublic/AUBase/AUScopeElement.cpp
${AU_INCLUDE_DIR}/PublicUtility/CAAudioChannelLayout.cpp
${AU_INCLUDE_DIR}/PublicUtility/CAAUParameter.cpp
${AU_INCLUDE_DIR}/PublicUtility/CAMutex.cpp
${AU_INCLUDE_DIR}/AudioUnits/AUPublic/AUCarbonViewBase/CarbonEventHandler.cpp
${AU_INCLUDE_DIR}/PublicUtility/CAStreamBasicDescription.cpp
${AU_INCLUDE_DIR}/PublicUtility/CAVectorUnit.cpp
${AU_INCLUDE_DIR}/AudioUnits/AUPublic/AUBase/ComponentBase.cpp
${AU_INCLUDE_DIR}/AudioUnits/AUPublic/OtherBases/MusicDeviceBase.cpp
)
ENDIF(BUILD_AU)
################################################
# INCLUDES
INCLUDE_DIRECTORIES ( BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/JUCE )
INCLUDE_DIRECTORIES ( BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/common )
INCLUDE_DIRECTORIES ( BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/common/Ressources )
INCLUDE_DIRECTORIES ( BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/common/SphericalHarmonic )
INCLUDE_DIRECTORIES ( BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/common/SphFilter )
INCLUDE_DIRECTORIES ( BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/common/LegendreU )
################################################
# additional cmake find packages
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
find_package(Eigen3 REQUIRED)
find_package(libsoxr REQUIRED)
IF (WITH_ZITA_CONVOLVER)
find_package(FFTW3 COMPONENTS single)
ENDIF (WITH_ZITA_CONVOLVER)
include_directories(${EIGEN3_INCLUDE_DIR} ${FFTW3_INCLUDE_DIR} ${LIBSOXR_INCLUDE_DIRS})
################################################
# this are the link libraries for juce
IF(APPLE)
FIND_LIBRARY(ACCELERATE_LIBRARY Accelerate)
FIND_LIBRARY(AUDIOTOOLBOX_LIBRARY AudioToolbox)
FIND_LIBRARY(AUDIOUNIT_LIBRARY AudioUnit)
FIND_LIBRARY(CARBON_LIBRARY Carbon)
FIND_LIBRARY(COCOA_LIBRARY Cocoa)
FIND_LIBRARY(COREAUDIO_LIBRARY CoreAudio)
FIND_LIBRARY(COREMIDI_LIBRARY CoreMIDI)
FIND_LIBRARY(DISCRECORDING_LIBRARY DiscRecording)
FIND_LIBRARY(IOKIT_LIBRARY IOKit)
FIND_LIBRARY(OPENGL_LIBRARY OpenGL)
FIND_LIBRARY(QTKIT_LIBRARY QTKit)
FIND_LIBRARY(QUARTZCORE_LIBRARY QuartzCore)
# FIND_LIBRARY(QUICKTIME_LIBRARY QuickTime)
FIND_LIBRARY(WEBKIT_LIBRARY WebKit)
MARK_AS_ADVANCED (ACCELERATE_LIBRARY AUDIOTOOLBOX_LIBRARY AUDIOUNIT_LIBRARY CARBON_LIBRARY COCOA_LIBRARY COREAUDIO_LIBRARY COREMIDI_LIBRARY COREMIDI_LIBRARY DISCRECORDING_LIBRARY IOKIT_LIBRARY OPENGL_LIBRARY QTKIT_LIBRARY QUARTZCORE_LIBRARY QUICKTIME_LIBRARY WEBKIT_LIBRARY)
SET(JUCE_LIBRARIES ${ACCELERATE_LIBRARY} ${AUDIOTOOLBOX_LIBRARY} ${AUDIOUNIT_LIBRARY} ${CARBON_LIBRARY} ${COCOA_LIBRARY} ${COREAUDIO_LIBRARY} ${COREMIDI_LIBRARY} ${COREMIDI_LIBRARY} ${DISCRECORDING_LIBRARY} ${IOKIT_LIBRARY} ${OPENGL_LIBRARY} ${QTKIT_LIBRARY} ${QUARTZCORE_LIBRARY} ${QUICKTIME_LIBRARY} ${WEBKIT_LIBRARY})
ADD_DEFINITIONS(-DJUCE_MAC=1)
ENDIF (APPLE)
IF(UNIX AND NOT APPLE AND NOT ANDROID)
ADD_DEFINITIONS(
-std=c++11
)
ADD_DEFINITIONS(-DLINUX=1)
FIND_PACKAGE ( OpenGL REQUIRED )
FIND_PACKAGE (GLUT REQUIRED)
FIND_LIBRARY ( X11_LIBRARY X11 )
FIND_LIBRARY ( XEXT_LIBRARY Xext )
FIND_LIBRARY ( XINERAMA_LIBRARY Xinerama )
FIND_LIBRARY ( ASOUND_LIBRARY asound )
FIND_LIBRARY ( DL_LIBRARY dl )
FIND_LIBRARY ( FREETYPE_LIBRARY freetype )
FIND_LIBRARY ( PTHREAD_LIBRARY pthread )
FIND_LIBRARY ( RT_LIBRARY rt )
MARK_AS_ADVANCED(GL_LIBRARY GLUT_LIBRARY X11_LIBRARY XEXT_LIBRARY XINERAMA_LIBRARY ASOUND_LIBRARY DL_LIBRARY FREETYPE_LIBRARY PTHREAD_LIBRARY RT_LIBRARY FFTW3F_LIBRARY)
FIND_PACKAGE ( FreeType REQUIRED )
INCLUDE_DIRECTORIES(${FREETYPE_INCLUDE_DIRS})
SET ( JUCE_LIBRARIES ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${X11_LIBRARY} ${XEXT_LIBRARY} ${XINERAMA_LIBRARY} ${ASOUND_LIBRARY} ${DL_LIBRARY} ${FREETYPE_LIBRARY} ${PTHREAD_LIBRARY} ${RT_LIBRARY} )
FIND_LIBRARY ( LIBSOXR_LIBRARY soxr )
FIND_LIBRARY ( FFTW3F_LIBRARY fftw3f )
IF(WITH_ZITA_CONVOLVER)
FIND_LIBRARY ( ZITA_CONVOLVER_LIBRARY zita-convolver )
ENDIF(WITH_ZITA_CONVOLVER)
ADD_DEFINITIONS(-DJUCE_LINUX=1)
#add sse
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_ALL} -msse3")
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_C_FLAGS_ALL} -msse3")
ENDIF(UNIX AND NOT APPLE AND NOT ANDROID)
IF(WIN32)
# set(THREADS_USE_PTHREADS_WIN32 true)
# find_package(Threads REQUIRED)
FIND_LIBRARY ( FFTW3F_LIBRARY fftw3f )
# include_directories(${THREADS_PTHREADS_INCLUDE_DIR})
ADD_DEFINITIONS(-DJUCE_WINDOWS=1)
ENDIF(WIN32)
################################################
# juce source modules
IF(APPLE)
SET ( JUCE_SOURCE
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_audio_basics/juce_audio_basics.mm
# ${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_audio_devices/juce_audio_devices.mm
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_audio_formats/juce_audio_formats.mm
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_audio_processors/juce_audio_processors.mm
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_audio_utils/juce_audio_utils.mm
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_box2d/juce_box2d.cpp
# ${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_browser_plugin_client/juce_browser_plugin.mm
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_core/juce_core.mm
# ${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_cryptography/juce_cryptography.mm
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_data_structures/juce_data_structures.mm
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_events/juce_events.mm
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_graphics/juce_graphics.mm
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_gui_basics/juce_gui_basics.mm
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_gui_extra/juce_gui_extra.mm
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_opengl/juce_opengl.mm
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_osc/juce_osc.cpp
# ${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_video/juce_video.mm
)
SET ( JUCE_PLUGIN_CLIENT_SOURCE
)
IF (BUILD_VST)
LIST ( APPEND JUCE_PLUGIN_CLIENT_SOURCE
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
)
ENDIF (BUILD_VST)
IF (BUILD_AU)
LIST ( APPEND JUCE_PLUGIN_CLIENT_SOURCE ${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm )
ENDIF (BUILD_AU)
SET ( JUCE_STANDALONE_SOURCE
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_audio_devices/juce_audio_devices.mm
)
ELSE(APPLE)
SET ( JUCE_SOURCE
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_audio_basics/juce_audio_basics.cpp
# ${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_audio_devices/juce_audio_devices.cpp
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_audio_formats/juce_audio_formats.cpp
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_audio_utils/juce_audio_utils.cpp
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_box2d/juce_box2d.cpp
# ${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_browser_plugin_client/juce_browser_plugin.cpp
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_core/juce_core.cpp
# ${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_cryptography/juce_cryptography.cpp
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_data_structures/juce_data_structures.cpp
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_events/juce_events.cpp
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_graphics/juce_graphics.cpp
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_gui_basics/juce_gui_basics.cpp
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_gui_extra/juce_gui_extra.cpp
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_opengl/juce_opengl.cpp
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_osc/juce_osc.cpp
# ${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_video/juce_video.cpp
)
SET ( JUCE_PLUGIN_CLIENT_SOURCE
)
IF (BUILD_VST)
LIST ( APPEND JUCE_PLUGIN_CLIENT_SOURCE ${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp )
ENDIF (BUILD_VST)
IF (BUILD_LV2)
LIST ( APPEND JUCE_PLUGIN_CLIENT_SOURCE ${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_audio_plugin_client/LV2/juce_LV2_Wrapper.cpp )
ENDIF (BUILD_LV2)
SET ( JUCE_STANDALONE_SOURCE
${CMAKE_HOME_DIRECTORY}/JUCE/modules/juce_audio_devices/juce_audio_devices.cpp
)
ENDIF(APPLE)
################################################
# add all subprojects (plugins)
ADD_SUBDIRECTORY ( JUCE ) # build static juce first
ADD_SUBDIRECTORY ( ambix_binaural )
ADD_SUBDIRECTORY ( ambix_decoder )
ADD_SUBDIRECTORY ( ambix_converter )
ADD_SUBDIRECTORY ( ambix_directional_loudness )
ADD_SUBDIRECTORY ( ambix_encoder )
ADD_SUBDIRECTORY ( ambix_maxre )
ADD_SUBDIRECTORY ( ambix_mirror )
ADD_SUBDIRECTORY ( ambix_rotator )
ADD_SUBDIRECTORY ( ambix_rotator_z )
ADD_SUBDIRECTORY ( ambix_vmic )
ADD_SUBDIRECTORY ( ambix_warp )
# ADD_SUBDIRECTORY ( ambix_hoafilter )
ADD_SUBDIRECTORY ( ambix_widening )