CMakeLists.txt 15.4 KB
Newer Older
Jonas Stienen's avatar
Jonas Stienen committed
1
2
3
4
5
6
7
8
9
# $Id:$

cmake_minimum_required( VERSION 2.8 )
project( VACore )

list( APPEND CMAKE_MODULE_PATH "$ENV{VISTA_CMAKE_COMMON}" )

include( VistaCommon )

10

11
12
13
14
if( NOT DEFINED ITA_VACORE_WITH_TESTS )
	set( ITA_VACORE_WITH_TESTS OFF CACHE BOOL "Build VACore with tests" )
endif( NOT DEFINED ITA_VACORE_WITH_TESTS )

15
16
17
18
19
20
21
22
23
24
25
26
if( NOT DEFINED ITA_CORE_LIBS_BUILD_STATIC )
	set( ITA_CORE_LIBS_BUILD_STATIC OFF CACHE BOOL "Build all ITA core libs in static mode" )
endif( NOT DEFINED ITA_CORE_LIBS_BUILD_STATIC )

if( NOT DEFINED ITA_VISTA_BUILD_STATIC )
	set( ITA_VISTA_BUILD_STATIC OFF CACHE BOOL "Build against static ViSTA libraries" )
endif( NOT DEFINED ITA_VISTA_BUILD_STATIC )

if( NOT DEFINED ITA_VA_BUILD_STATIC )
	set( ITA_VA_BUILD_STATIC OFF CACHE BOOL "Build static VA libs" )
endif( NOT DEFINED ITA_VA_BUILD_STATIC )

27
28
29
30
if( NOT DEFINED ITA_VACORE_INSTALL_WITH_DLLS )
	set( ITA_VACORE_INSTALL_WITH_DLLS ON CACHE BOOL "Install VACore with depending DLLs (use this switch with care)" )
endif( NOT DEFINED ITA_VACORE_INSTALL_WITH_DLLS )

31

32
33
# Required packages
vista_use_package( VistaCoreLibs REQUIRED COMPONENTS VistaInterProcComm FIND_DEPENDENCIES )
Jonas Stienen's avatar
Jonas Stienen committed
34
35
36
37
38
39
vista_use_package( VABase REQUIRED FIND_DEPENDENCIES )
vista_use_package( ITABase REQUIRED FIND_DEPENDENCIES )
vista_use_package( ITADataSources REQUIRED FIND_DEPENDENCIES )
vista_use_package( ITAConvolution REQUIRED FIND_DEPENDENCIES )
vista_use_package( ITACTC REQUIRED FIND_DEPENDENCIES )
vista_use_package( ITASampler REQUIRED FIND_DEPENDENCIES )
40
vista_use_package( OpenDAFF REQUIRED )
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
41
vista_use_package( SPLINE REQUIRED )
Jonas Stienen's avatar
Jonas Stienen committed
42

43
44
# Optional packages
vista_find_package( RavenNet QUIET )
45
46

if( NOT DEFINED ITA_VACORE_VERSION_MAJOR )
47
	set( ITA_VACORE_VERSION_MAJOR "v2016" CACHE STRING "VACore version major (usually 'v' and year)" )
48
49
endif( NOT DEFINED ITA_VACORE_VERSION_MAJOR )
if( NOT DEFINED ITA_VACORE_VERSION_MINOR )
50
	set( ITA_VACORE_VERSION_MINOR "a" CACHE STRING "VACore version minor (usually a,b,c ...)" )
51
52
53
54
endif( NOT DEFINED ITA_VACORE_VERSION_MINOR )

# Settings

55
if( NOT DEFINED ITA_VACORE_DEFAULT_CONFIG_FILE_NAME )
56
	set( ITA_VACORE_DEFAULT_CONFIG_FILE_NAME VACore.ini CACHE STRING "Default VACore configuration file name (INI file)" )
57
58
59
endif( NOT DEFINED ITA_VACORE_DEFAULT_CONFIG_FILE_NAME )


60
61
62
63
64
65
66
67
68
if( NOT DEFINED ITA_VACORE_DEFAULT_DEBUG_LEVEL )
	set( ITA_VACORE_DEFAULT_DEBUG_LEVEL 3 CACHE INT "Default VACore debug level (0-5)" )
endif( NOT DEFINED ITA_VACORE_DEFAULT_DEBUG_LEVEL )
if( NOT DEFINED ITA_VACORE_MODULE_INTERFACE_ENABLED )
	set( ITA_VACORE_MODULE_INTERFACE_ENABLED ON CACHE BOOL "Build VACore with module interface" )
endif( NOT DEFINED ITA_VACORE_MODULE_INTERFACE_ENABLED )
if( NOT DEFINED ITA_VACORE_NO_MODULE_INTERFACE_THROW_EXCEPTION )
	set( ITA_VACORE_NO_MODULE_INTERFACE_THROW_EXCEPTION ON CACHE BOOL "Throw exception during module call attempt if VACore was build without module interface" )
endif( NOT DEFINED ITA_VACORE_NO_MODULE_INTERFACE_THROW_EXCEPTION )
69
70
71
72
73
74
75
76
77
78
79
80
if( NOT DEFINED ITA_VACORE_EVENTS_ENABLED )
	set( ITA_VACORE_EVENTS_ENABLED ON CACHE BOOL "VACore event handling" )
endif( NOT DEFINED ITA_VACORE_EVENTS_ENABLED )

if( NOT DEFINED ITA_VACORE_MAX_NUM_SOURCES )
	set( ITA_VACORE_MAX_NUM_SOURCES 0 CACHE INT "VACore maximum number of sound sources ( 0 = unlimited )" )
endif( NOT DEFINED ITA_VACORE_MAX_NUM_SOURCES )
if( NOT DEFINED ITA_VACORE_MAX_NUM_LISTENERS )
	set( ITA_VACORE_MAX_NUM_LISTENERS 0 CACHE INT "VACore maximum number of listeners ( 0 = unlimited )" )
endif( NOT DEFINED ITA_VACORE_MAX_NUM_LISTENERS )


81
82
83
84
85
86
87
88
89
# Data dirs
if( NOT DEFINED ITA_VACORE_BIG_DATA_DIR )
	set( ITA_VACORE_BIG_DATA_DIR "" CACHE PATH "VACore big data dir with more files for auralization (will be added to search path)" )
endif( NOT DEFINED ITA_VACORE_BIG_DATA_DIR )
if( NOT DEFINED INSIDE_SCENE_DATA )
	set( INSIDE_SCENE_DATA "" CACHE PATH "InsideSceneData folder for Inside scenes" )
endif( NOT DEFINED INSIDE_SCENE_DATA )


90
91
92
93
94
95
96
97
98
99
100
101
# drivers
if( NOT DEFINED ITA_VACORE_WITH_AUDIO_BACKEND_ASIO )
	set( ITA_VACORE_WITH_AUDIO_BACKEND_ASIO ON CACHE BOOL "Build VACore with ASIO audio backend support" )
endif( )
if( NOT DEFINED ITA_VACORE_WITH_AUDIO_BACKEND_PORTAUDIO )
	set( ITA_VACORE_WITH_AUDIO_BACKEND_PORTAUDIO ON CACHE BOOL "Build VACore with Portaudio audio backend support" )
endif( )
if( NOT DEFINED ITA_VACORE_WITH_AUDIO_BACKEND_DUMMY )
	set( ITA_VACORE_WITH_AUDIO_BACKEND_DUMMY OFF CACHE BOOL "Build VACore with dummy audio backend support" )
endif( )


102
103
# Development
if( NOT DEFINED ITA_VACORE_REPRODUCTION_NCTC_WITH_SWEET_SPOT_WIDENING )
104
	set( ITA_VACORE_REPRODUCTION_NCTC_WITH_SWEET_SPOT_WIDENING ON CACHE BOOL "Crosstalk-Cancellation sweet spot widening (development)" )
105
106
endif( NOT DEFINED ITA_VACORE_REPRODUCTION_NCTC_WITH_SWEET_SPOT_WIDENING )

107
108
109
110
111
112
113
114


# Rendering modules

if( NOT DEFINED ITA_VACORE_WITH_RENDERER_AMBIENT_MIXER )
	set( ITA_VACORE_WITH_RENDERER_AMBIENT_MIXER ON CACHE BOOL "Build VACore with rendering module: ambient mixer" )
endif( NOT DEFINED ITA_VACORE_WITH_RENDERER_AMBIENT_MIXER )

115
116
117
if( NOT DEFINED ITA_VACORE_WITH_RENDERER_AMBISONICS_FREE_FIELD )
	set( ITA_VACORE_WITH_RENDERER_AMBISONICS_FREE_FIELD ON CACHE BOOL "Build VACore with rendering module: ambisonics free-field" )
endif( NOT DEFINED ITA_VACORE_WITH_RENDERER_AMBISONICS_FREE_FIELD )
118

119
120
121
if( NOT DEFINED ITA_VACORE_WITH_RENDERER_BINAURAL_FREE_FIELD )
	set( ITA_VACORE_WITH_RENDERER_BINAURAL_FREE_FIELD ON CACHE BOOL "Build VACore with rendering module: binaural free-field" )
endif( NOT DEFINED ITA_VACORE_WITH_RENDERER_BINAURAL_FREE_FIELD )
122
123
124
125
126
127
128
129
130
131
if( NOT DEFINED ITA_VACORE_WITH_RENDERER_BINAURAL_ARTIFICIAL_REVERB )
	set( ITA_VACORE_WITH_RENDERER_BINAURAL_ARTIFICIAL_REVERB ON CACHE BOOL "Build VACore with rendering module: artificial reverb" )
endif( NOT DEFINED ITA_VACORE_WITH_RENDERER_BINAURAL_ARTIFICIAL_REVERB )
if( NOT DEFINED ITA_VACORE_WITH_RENDERER_BINAURAL_ROOM_ACOUSTICS )
	set( ITA_VACORE_WITH_RENDERER_BINAURAL_ROOM_ACOUSTICS OFF CACHE BOOL "Build VACore with rendering module: room acoustics (RAVEN)" )
endif( NOT DEFINED ITA_VACORE_WITH_RENDERER_BINAURAL_ROOM_ACOUSTICS )
if( NOT DEFINED ITA_VACORE_WITH_RENDERER_BINAURAL_AIR_TRAFFIC_NOISE )
	set( ITA_VACORE_WITH_RENDERER_BINAURAL_AIR_TRAFFIC_NOISE ON CACHE BOOL "Build VACore with rendering module: air traffic noise (VATSS)" )
endif( NOT DEFINED ITA_VACORE_WITH_RENDERER_BINAURAL_AIR_TRAFFIC_NOISE )

132
133
134
if( NOT DEFINED ITA_VACORE_WITH_RENDERER_MONAURAL_FREE_FIELD )
	set( ITA_VACORE_WITH_RENDERER_MONAURAL_FREE_FIELD ON CACHE BOOL "Build VACore with rendering module: monaural free-field" )
endif( NOT DEFINED ITA_VACORE_WITH_RENDERER_MONAURAL_FREE_FIELD )
135
136
137
138
139
140
141
142
143
144
145

if( NOT DEFINED ITA_VACORE_WITH_RENDERER_PROTOTYPE_DUMMY )
	set( ITA_VACORE_WITH_RENDERER_PROTOTYPE_DUMMY OFF CACHE BOOL "Build VACore with rendering module: prototype dummy" )
endif( NOT DEFINED ITA_VACORE_WITH_RENDERER_PROTOTYPE_DUMMY )
if( NOT DEFINED ITA_VACORE_WITH_RENDERER_PROTOTYPE_HEARING_AID )
	set( ITA_VACORE_WITH_RENDERER_PROTOTYPE_HEARING_AID OFF CACHE BOOL "Build VACore with rendering module: prototype hearing aid (iCARE)" )
endif( NOT DEFINED ITA_VACORE_WITH_RENDERER_PROTOTYPE_HEARING_AID )
if( NOT DEFINED ITA_VACORE_WITH_RENDERER_PROTOTYPE_GENERIC_PATH )
	set( ITA_VACORE_WITH_RENDERER_PROTOTYPE_GENERIC_PATH ON CACHE BOOL "Build VACore with rendering module: prototype generic path" )
endif( NOT DEFINED ITA_VACORE_WITH_RENDERER_PROTOTYPE_GENERIC_PATH )

146
147
148
if( NOT DEFINED ITA_VACORE_WITH_RENDERER_VBAP_FREE_FIELD )
	set( ITA_VACORE_WITH_RENDERER_VBAP_FREE_FIELD OFF CACHE BOOL "Build VACore with rendering module: vector-base amplitude panning free-field" )
endif( NOT DEFINED ITA_VACORE_WITH_RENDERER_VBAP_FREE_FIELD )
149
150
151
152
153
154
155
156
157
158
159


# Reproduction modules

if( NOT DEFINED ITA_VACORE_WITH_REPRODUCTION_TALKTHROUGH )
	set( ITA_VACORE_WITH_REPRODUCTION_TALKTHROUGH ON CACHE BOOL "Build VACore with reproduction module: talkthrough" )
endif( NOT DEFINED ITA_VACORE_WITH_REPRODUCTION_TALKTHROUGH )
if( NOT DEFINED ITA_VACORE_WITH_REPRODUCTION_HEADPHONES )
	set( ITA_VACORE_WITH_REPRODUCTION_HEADPHONES ON CACHE BOOL "Build VACore with reproduction module: headphones (equalization)" )
endif( NOT DEFINED ITA_VACORE_WITH_REPRODUCTION_HEADPHONES )
if( NOT DEFINED ITA_VACORE_WITH_REPRODUCTION_AMBISONICS )
160
	set( ITA_VACORE_WITH_REPRODUCTION_AMBISONICS OFF CACHE BOOL "Build VACore with reproduction module: ambisonics (B-format decoder)" )
161
162
163
164
165
endif( NOT DEFINED ITA_VACORE_WITH_REPRODUCTION_AMBISONICS )
if( NOT DEFINED ITA_VACORE_WITH_REPRODUCTION_BINAURAL_NCTC )
	set( ITA_VACORE_WITH_REPRODUCTION_BINAURAL_NCTC ON CACHE BOOL "Build VACore with reproduction module: binaural N-CTC" )
endif( NOT DEFINED ITA_VACORE_WITH_REPRODUCTION_BINAURAL_NCTC )
if( NOT DEFINED ITA_VACORE_WITH_REPRODUCTION_BINAURAL_MIXDOWN )
166
	set( ITA_VACORE_WITH_REPRODUCTION_BINAURAL_MIXDOWN OFF CACHE BOOL "Build VACore with reproduction module: binaural mixdown" )
167
168
endif( NOT DEFINED ITA_VACORE_WITH_REPRODUCTION_BINAURAL_MIXDOWN )
if( NOT DEFINED ITA_VACORE_WITH_REPRODUCTION_AMBISONICS_BINAURAL_MIXDOWN )
169
	set( ITA_VACORE_WITH_REPRODUCTION_AMBISONICS_BINAURAL_MIXDOWN OFF CACHE BOOL "Build VACore with reproduction module: ambisonics binaural mixdown (B-format decoder)" )
170
endif( NOT DEFINED ITA_VACORE_WITH_REPRODUCTION_AMBISONICS_BINAURAL_MIXDOWN )
171
172
173
174
if( NOT DEFINED ITA_VACORE_WITH_REPRODUCTION_MIXER_LOW_FREQUENCY )
	set( ITA_VACORE_WITH_REPRODUCTION_MIXER_LOW_FREQUENCY ON CACHE BOOL "Build VACore with reproduction module: low frequency (subwoofer) mixer" )
endif( NOT DEFINED ITA_VACORE_WITH_REPRODUCTION_MIXER_LOW_FREQUENCY )

175
176


Jonas Stienen's avatar
Jonas Stienen committed
177
178
179
180
181
182
# Including the source files of all source subfolders recursively
include( "include/_SourceFiles.cmake" )
include( "src/_SourceFiles.cmake" )

include_directories( "include" )

183
184
185
186
187
188
189
190
191

if( ITA_CORE_LIBS_BUILD_STATIC )
	add_definitions( -DITA_BASE_STATIC -DITA_DATA_SOURCES_STATIC -DITA_DIFFRACTION_STATIC -DITA_GEO_STATIC -DITA_CONVOLUTION_STATIC -DITA_FFT_STATIC -DITA_CTC_STATIC -DITA_SAMPLER_STATIC )
endif( ITA_CORE_LIBS_BUILD_STATIC )

if( ITA_VISTA_BUILD_STATIC )
	add_definitions( -DVISTABASE_STATIC -DVISTAMATH_STATIC -DVISTAASPECTS_STATIC -DVISTATOOLS_STATIC -DVISTAINTERPROCCOMM_STATIC )
endif( ITA_VISTA_BUILD_STATIC )

Jonas Stienen's avatar
Jonas Stienen committed
192
add_definitions( -DIEEE754_64FLOAT=1 )
193
194
195
196
197
198
199
200
201
202
203
if( NOT ITA_VA_BUILD_STATIC )
	add_definitions( -DVACORE_EXPORTS )
else( NOT ITA_VA_BUILD_STATIC )
	add_definitions( -DVABASE_STATIC -DVACORE_STATIC )
	set( BUILD_SHARED_LIBS_TEMP ${BUILD_SHARED_LIBS} )
	if( BUILD_SHARED_LIBS )
		set( BUILD_SHARED_LIBS OFF )
		message( "Ignoring activated BUILD_SHARED_LIBS temporary because static VA requested" )
	endif( BUILD_SHARED_LIBS )
endif( NOT ITA_VA_BUILD_STATIC )

204
205
206
if( NOT WIN32 )
	add_definitions( -std=gnu++11 )
endif( )
Jonas Stienen's avatar
Jonas Stienen committed
207

208
add_definitions( "-DVACORE_DEFAULT_LOG_LEVEL=${ITA_VACORE_DEFAULT_DEBUG_LEVEL}" )
209
210
add_definitions( "-DVACORE_VERSION_MAJOR=\"${ITA_VACORE_VERSION_MAJOR}\"" )
add_definitions( "-DVACORE_VERSION_MINOR=\"${ITA_VACORE_VERSION_MINOR}\"" )
211

212
213
214
215
216
217
218
if( ${ITA_VACORE_MODULE_INTERFACE_ENABLED} )
	add_definitions( "-DVACORE_MODULE_INTERFACE_ENABLED=1" )
endif()
if( ${ITA_VACORE_NO_MODULE_INTERFACE_THROW_EXCEPTION} )
	add_definitions( "-DVACORE_NO_MODULE_INTERFACE_THROW_EXCEPTION=1" )
endif()
if( ${ITA_VACORE_EVENTS_ENABLED} )
219
	add_definitions( "-DVACORE_EVENTS_ENABLED=1" )
220
endif()
221

222
add_definitions( "-DVACORE_DEFAULT_CONFIGFILE=\"${ITA_VACORE_DEFAULT_CONFIG_FILE_NAME}\"" )
223
224
225
add_definitions( "-DVACORE_MAX_NUM_SOURCES=${ITA_VACORE_MAX_NUM_SOURCES}" )
add_definitions( "-DVACORE_MAX_NUM_LISTENERS=${ITA_VACORE_MAX_NUM_LISTENERS}" )

226
227
228
229
if( ITA_VACORE_WITH_AUDIO_BACKEND_ASIO )
	add_definitions( -DVACORE_WITH_AUDIO_BACKEND_ASIO )
endif( )
if( ITA_VACORE_WITH_AUDIO_BACKEND_PORTAUDIO )
230
	add_definitions( -DVACORE_WITH_AUDIO_BACKEND_PORTAUDIO )
231
232
233
234
235
endif( )
if( ITA_VACORE_WITH_AUDIO_BACKEND_DUMMY )
	add_definitions( -DVACORE_WITH_AUDIO_BACKEND_DUMMY )
endif( )

236
237
238
239
# Rendering definitions
if( ${ITA_VACORE_WITH_RENDERER_AMBIENT_MIXER} )
	add_definitions( "-DVACORE_WITH_RENDERER_AMBIENT_MIXER=1" )
endif()
240
241
if( ${ITA_VACORE_WITH_RENDERER_AMBISONICS_FREE_FIELD} )
	add_definitions( "-DVACORE_WITH_RENDERER_AMBISONICS_FREE_FIELD=1" )
242
endif()
243
244
if( ${ITA_VACORE_WITH_RENDERER_BINAURAL_FREE_FIELD} )
	add_definitions( "-DVACORE_WITH_RENDERER_BINAURAL_FREE_FIELD=1" )
245
endif()
246
247
248
249
if( ${ITA_VACORE_WITH_RENDERER_BINAURAL_ARTIFICIAL_REVERB} )
	add_definitions( "-DVACORE_WITH_RENDERER_BINAURAL_ARTIFICIAL_REVERB=1" )
endif()
if( ${ITA_VACORE_WITH_RENDERER_BINAURAL_ROOM_ACOUSTICS} )
250
251
252
253
254
255
	if( RAVENNET_FOUND )
		vista_use_package( RavenNet REQUIRED FIND_DEPENDENCIES )
		add_definitions( "-DVACORE_WITH_RENDERER_BINAURAL_ROOM_ACOUSTICS=1" )
	else( RAVENNET_FOUND )
		message( "Could not find RavenNet, which is required by binaural room acoustics audio renderer" )
	endif( RAVENNET_FOUND )
256
257
258
259
endif()
if( ${ITA_VACORE_WITH_RENDERER_BINAURAL_AIR_TRAFFIC_NOISE} )
	add_definitions( "-DVACORE_WITH_RENDERER_BINAURAL_AIR_TRAFFIC_NOISE=1" )
endif()
260
261
if( ${ITA_VACORE_WITH_RENDERER_MONAURAL_FREE_FIELD} )
	add_definitions( "-DVACORE_WITH_RENDERER_MONAURAL_FREE_FIELD=1" )
262
263
264
265
266
267
268
269
270
271
endif()
if( ${ITA_VACORE_WITH_RENDERER_PROTOTYPE_DUMMY} )
	add_definitions( "-DVACORE_WITH_RENDERER_PROTOTYPE_DUMMY=1" )
endif()
if( ${ITA_VACORE_WITH_RENDERER_PROTOTYPE_HEARING_AID} )
	add_definitions( "-DVACORE_WITH_RENDERER_PROTOTYPE_HEARING_AID=1" )
endif()
if( ${ITA_VACORE_WITH_RENDERER_PROTOTYPE_GENERIC_PATH} )
	add_definitions( "-DVACORE_WITH_RENDERER_PROTOTYPE_GENERIC_PATH=1" )
endif()
272
273
if( ${ITA_VACORE_WITH_RENDERER_VBAP_FREE_FIELD} )
	add_definitions( "-DVACORE_WITH_RENDERER_VBAP_FREE_FIELD=1" )
274
275
276
277
278
279
280
281
282
endif()

# Reproduction definitions
if( ${ITA_VACORE_WITH_REPRODUCTION_TALKTHROUGH} )
	add_definitions( "-DVACORE_WITH_REPRODUCTION_TALKTHROUGH=1" )
endif()
if( ${ITA_VACORE_WITH_REPRODUCTION_HEADPHONES} )
	add_definitions( "-DVACORE_WITH_REPRODUCTION_HEADPHONES=1" )
endif()
283
284
if( ${ITA_VACORE_WITH_REPRODUCTION_AMBISONICS} )
	add_definitions( "-DVACORE_WITH_REPRODUCTION_AMBISONICS=1" )
285
286
287
288
289
290
291
292
293
294
endif()
if( ${ITA_VACORE_WITH_REPRODUCTION_BINAURAL_NCTC} )
	add_definitions( "-DVACORE_WITH_REPRODUCTION_BINAURAL_NCTC=1" )
endif()
if( ${ITA_VACORE_WITH_REPRODUCTION_BINAURAL_MIXDOWN} )
	add_definitions( "-DVACORE_WITH_REPRODUCTION_BINAURAL_MIXDOWN=1" )
endif()
if( ${ITA_VACORE_WITH_REPRODUCTION_AMBISONICS_BINAURAL_MIXDOWN} )
	add_definitions( "-DVACORE_WITH_REPRODUCTION_AMBISONICS_BINAURAL_MIXDOWN=1" )
endif()
295
296
297
if( ${ITA_VACORE_WITH_REPRODUCTION_MIXER_LOW_FREQUENCY} )
	add_definitions( "-DVACORE_WITH_REPRODUCTION_MIXER_LOW_FREQUENCY=1" )
endif()
298
299
300

string( TIMESTAMP VACORE_CMAKE_DATE "%Y-%m-%d" )
add_definitions( "-DVACORE_CMAKE_DATE=\"${VACORE_CMAKE_DATE}\"" )
301

302
303
304
305
306
# Dev switches
if( ITA_VACORE_REPRODUCTION_NCTC_WITH_SWEET_SPOT_WIDENING )
	add_definitions( "-DVACORE_REPRODUCTION_NCTC_WITH_SWEET_SPOT_WIDENING" )
endif( ITA_VACORE_REPRODUCTION_NCTC_WITH_SWEET_SPOT_WIDENING )

307
308
309
310
# Files
vista_add_files_to_sources( ProjectSources "conf" NON_RECURSIVE SOURCE_GROUP "conf" "ini" )
vista_add_files_to_sources( ProjectSources "data" SOURCE_GROUP_MIRROR_DIR "data" "wav" "daff" "mat" "ac" "skp" )

Jonas Stienen's avatar
Jonas Stienen committed
311
add_library( VACore ${ProjectSources} )
312
313
314
target_link_libraries( VACore ${VISTA_USE_PACKAGE_LIBRARIES} ) # contains all libraries from vista_use_package() calls
set( BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_TEMP} )

Jonas Stienen's avatar
Jonas Stienen committed
315
316
317
318
319
320
321
322
323

vista_configure_lib( VACore )
set( VACORE_INCLUDE_OUTDIR "${CMAKE_CURRENT_SOURCE_DIR}/include" )
vista_install( VACore )
vista_create_cmake_configs( VACore )
vista_create_default_info_file( VACore )

set_property( TARGET VACore PROPERTY FOLDER "VA" )

324
325
326
if( ITA_VACORE_INSTALL_WITH_DLLS OR ITA_VA_INSTALL_WITH_DLLS )
	vista_install_all_dlls( bin )
endif()
Jonas Stienen's avatar
Jonas Stienen committed
327

328
329
330
331
332

# VA core configuration file
configure_file( "conf/VACore.ini.proto" "${CMAKE_CURRENT_SOURCE_DIR}/conf/${ITA_VACORE_DEFAULT_CONFIG_FILE_NAME}" @ONLY )


Jonas Stienen's avatar
Jonas Stienen committed
333
# tests
334
if( ITA_VA_WITH_TESTS OR ITA_VACORE_WITH_TESTS )
335
336
337
	set( VACORE_COMMON_BUILD TRUE )
	add_subdirectory( "${CMAKE_CURRENT_SOURCE_DIR}/tests" )
endif()