CMakeLists.txt 15.6 KB
Newer Older
Jonas Stienen's avatar
Jonas Stienen committed
1
2
3
4
5
6
7
cmake_minimum_required( VERSION 2.8 )
project( VACore )

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

include( VistaCommon )

8

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

13
14
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" )
15
endif( )
16
17
18

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

if( NOT DEFINED ITA_VA_BUILD_STATIC )
	set( ITA_VA_BUILD_STATIC OFF CACHE BOOL "Build static VA libs" )
23
24
25
26
27
28
29
30
31
endif( )

if( NOT DEFINED ITA_VACORE_DEPLOY_WITH_COMMON_DATA )
	set( ITA_VACORE_DEPLOY_WITH_COMMON_DATA ON CACHE BOOL "Will deploy VACore with common data (HRIR, Directivity, WAV file, HPEQ, Room Model, etc)" )
endif( )

if( NOT DEFINED ITA_VACORE_DEPLOY_WITH_COMMON_CONFIGS )
	set( ITA_VACORE_DEPLOY_WITH_COMMON_CONFIGS ON CACHE BOOL "Will deploy VACore with common configuration files (generic VACore.ini, setups for laboraties)" )
endif( )
32

33
34
35
if( NOT DEFINED ITA_VACORE_DEPLOY_WITH_COMMON_SCRIPTS )
	set( ITA_VACORE_DEPLOY_WITH_COMMON_SCRIPTS ON CACHE BOOL "Will deploy VACore with common scripts (start VAServer from console)" )
endif( )
36

37

38
39
# Required packages
vista_use_package( VistaCoreLibs REQUIRED COMPONENTS VistaInterProcComm FIND_DEPENDENCIES )
Jonas Stienen's avatar
Jonas Stienen committed
40
41
vista_use_package( VABase REQUIRED FIND_DEPENDENCIES )
vista_use_package( ITABase REQUIRED FIND_DEPENDENCIES )
42
vista_use_package( ITADSP REQUIRED FIND_DEPENDENCIES )
Jonas Stienen's avatar
Jonas Stienen committed
43
44
45
46
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 )
47
vista_use_package( OpenDAFF REQUIRED )
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
48
vista_use_package( SPLINE REQUIRED )
Jonas Stienen's avatar
Jonas Stienen committed
49

50
51
# Optional packages
vista_find_package( RavenNet QUIET )
52
53

if( NOT DEFINED ITA_VACORE_VERSION_MAJOR )
54
55
	set( ITA_VACORE_VERSION_MAJOR "v2017" CACHE STRING "VACore version major (usually 'v' and year)" )
endif( )
56
if( NOT DEFINED ITA_VACORE_VERSION_MINOR )
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
57
	set( ITA_VACORE_VERSION_MINOR "d" CACHE STRING "VACore version minor (usually a,b,c ...)" )
58
endif( )
59
60
61

# Settings

62
if( NOT DEFINED ITA_VACORE_DEFAULT_CONFIG_FILE_NAME )
63
	set( ITA_VACORE_DEFAULT_CONFIG_FILE_NAME VACore.ini CACHE STRING "Default VACore configuration file name (INI file)" )
64
endif( )
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)" )
69
endif( )
70
71
if( NOT DEFINED ITA_VACORE_MODULE_INTERFACE_ENABLED )
	set( ITA_VACORE_MODULE_INTERFACE_ENABLED ON CACHE BOOL "Build VACore with module interface" )
72
endif( )
73
74
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" )
75
endif( )
76
77
if( NOT DEFINED ITA_VACORE_EVENTS_ENABLED )
	set( ITA_VACORE_EVENTS_ENABLED ON CACHE BOOL "VACore event handling" )
78
endif( )
79

80
81
if( NOT DEFINED ITA_VACORE_MAX_NUM_SOUND_SOURCES )
	set( ITA_VACORE_MAX_NUM_SOUND_SOURCES 0 CACHE INT "VACore maximum number of sound sources ( 0 = unlimited )" )
82
endif( )
83
84
if( NOT DEFINED ITA_VACORE_MAX_NUM_SOUND_RECEIVERS )
	set( ITA_VACORE_MAX_NUM_SOUND_RECEIVERS 0 CACHE INT "VACore maximum number of sound receivers ( 0 = unlimited )" )
85
endif( )
86
87
88
if( NOT DEFINED ITA_VACORE_WITH_TTS_SIGNAL_SOURCE )
	set( ITA_VACORE_WITH_TTS_SIGNAL_SOURCE ${TTSReleay} CACHE BOOL "VACore with text-to-speech signal source support" )
endif( )
89
90


91
92
93
# 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)" )
94
endif( )
95

96
97
if( NOT DEFINED INSIDE_SCENE_DATA )
	set( INSIDE_SCENE_DATA "" CACHE PATH "InsideSceneData folder for Inside scenes" )
98
endif( )
99

100
101
102
103
if( NOT DEFINED ITA_RAVEN_DATA_PATH )
	set( ITA_RAVEN_DATA_PATH "" CACHE PATH "RAVEN data base path (where to find models, HRTFs, materials etc. ...)" )
endif( )

104

105
106
107
108
109
110
111
112
113
114
115
116
# 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( )


117
118
# Development
if( NOT DEFINED ITA_VACORE_REPRODUCTION_NCTC_WITH_SWEET_SPOT_WIDENING )
119
	set( ITA_VACORE_REPRODUCTION_NCTC_WITH_SWEET_SPOT_WIDENING ON CACHE BOOL "Crosstalk-Cancellation sweet spot widening (development)" )
120
endif( )
121

122
123
124
125
126
127


# 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" )
128
endif( )
129

130
131
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" )
132
endif( )
133

134
135
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" )
136
endif( )
137
138
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" )
139
endif( )
140
141
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)" )
142
endif( )
143
144
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)" )
145
endif( )
146
147
148
if( NOT DEFINED ITA_VACORE_WITH_RENDERER_BINAURAL_OUTDOOR_NOISE )
	set( ITA_VACORE_WITH_RENDERER_BINAURAL_OUTDOOR_NOISE OFF CACHE BOOL "Build VACore with rendering module: outdoor noise" )
endif( )
149

150
151
if( NOT DEFINED ITA_VACORE_WITH_RENDERER_PROTOTYPE_FREE_FIELD )
	set( ITA_VACORE_WITH_RENDERER_PROTOTYPE_FREE_FIELD ON CACHE BOOL "Build VACore with rendering module: prototype free-field" )
152
endif( )
153
154
155

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" )
156
endif( )
157
158
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)" )
159
endif( )
160
161
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" )
162
endif( )
163

164
165
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" )
166
endif( )
167
168
169
170
171
172


# 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" )
173
endif( )
174
175
if( NOT DEFINED ITA_VACORE_WITH_REPRODUCTION_HEADPHONES )
	set( ITA_VACORE_WITH_REPRODUCTION_HEADPHONES ON CACHE BOOL "Build VACore with reproduction module: headphones (equalization)" )
176
endif( )
177
if( NOT DEFINED ITA_VACORE_WITH_REPRODUCTION_AMBISONICS )
178
	set( ITA_VACORE_WITH_REPRODUCTION_AMBISONICS OFF CACHE BOOL "Build VACore with reproduction module: ambisonics (B-format decoder)" )
179
endif( )
180
181
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" )
182
endif( )
183
if( NOT DEFINED ITA_VACORE_WITH_REPRODUCTION_BINAURAL_MIXDOWN )
184
	set( ITA_VACORE_WITH_REPRODUCTION_BINAURAL_MIXDOWN OFF CACHE BOOL "Build VACore with reproduction module: binaural mixdown" )
185
endif( )
186
if( NOT DEFINED ITA_VACORE_WITH_REPRODUCTION_AMBISONICS_BINAURAL_MIXDOWN )
187
	set( ITA_VACORE_WITH_REPRODUCTION_AMBISONICS_BINAURAL_MIXDOWN OFF CACHE BOOL "Build VACore with reproduction module: ambisonics binaural mixdown (B-format decoder)" )
188
endif( )
189
190
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" )
191
endif( )
192

193
194


Jonas Stienen's avatar
Jonas Stienen committed
195
196
197
198
199
200
# Including the source files of all source subfolders recursively
include( "include/_SourceFiles.cmake" )
include( "src/_SourceFiles.cmake" )

include_directories( "include" )

201
202

if( ITA_CORE_LIBS_BUILD_STATIC )
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
203
	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_DSP_STATIC -DITA_SAMPLER_STATIC )
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
204
endif( )
205
206
207

if( ITA_VISTA_BUILD_STATIC )
	add_definitions( -DVISTABASE_STATIC -DVISTAMATH_STATIC -DVISTAASPECTS_STATIC -DVISTATOOLS_STATIC -DVISTAINTERPROCCOMM_STATIC )
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
208
endif( )
209

Jonas Stienen's avatar
Jonas Stienen committed
210
add_definitions( -DIEEE754_64FLOAT=1 )
211
212
213
214
215
216
217
218
219
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 )
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
220
endif( )
221

222
223
224
if( NOT WIN32 )
	add_definitions( -std=gnu++11 )
endif( )
Jonas Stienen's avatar
Jonas Stienen committed
225

226
add_definitions( "-DVACORE_DEFAULT_LOG_LEVEL=${ITA_VACORE_DEFAULT_DEBUG_LEVEL}" )
227
228
add_definitions( "-DVACORE_VERSION_MAJOR=\"${ITA_VACORE_VERSION_MAJOR}\"" )
add_definitions( "-DVACORE_VERSION_MINOR=\"${ITA_VACORE_VERSION_MINOR}\"" )
229

230
231
if( ITA_VACORE_MODULE_INTERFACE_ENABLED )
	add_definitions( "-DVACORE_MODULE_INTERFACE_ENABLED" )
232
endif( )
233
234
if( ITA_VACORE_NO_MODULE_INTERFACE_THROW_EXCEPTION )
	add_definitions( "-DVACORE_NO_MODULE_INTERFACE_THROW_EXCEPTION" )
235
endif( )
236
237
if( ITA_VACORE_EVENTS_ENABLED )
	add_definitions( "-DVACORE_EVENTS_ENABLED" )
238
endif( )
239

240
add_definitions( "-DVACORE_DEFAULT_CONFIGFILE=\"${ITA_VACORE_DEFAULT_CONFIG_FILE_NAME}\"" )
241
242
add_definitions( "-DVACORE_MAX_NUM_SOUND_SOURCES=${ITA_VACORE_MAX_NUM_SOUND_SOURCES}" )
add_definitions( "-DVACORE_MAX_NUM_SOUND_RECEIVERS=${ITA_VACORE_MAX_NUM_SOUND_RECEIVERS}" )
243

244
245
246
247
if( ITA_VACORE_WITH_AUDIO_BACKEND_ASIO )
	add_definitions( -DVACORE_WITH_AUDIO_BACKEND_ASIO )
endif( )
if( ITA_VACORE_WITH_AUDIO_BACKEND_PORTAUDIO )
248
	add_definitions( -DVACORE_WITH_AUDIO_BACKEND_PORTAUDIO )
249
250
251
252
253
endif( )
if( ITA_VACORE_WITH_AUDIO_BACKEND_DUMMY )
	add_definitions( -DVACORE_WITH_AUDIO_BACKEND_DUMMY )
endif( )

254
# Rendering definitions
255
256
if( ITA_VACORE_WITH_RENDERER_AMBIENT_MIXER )
	add_definitions( "-DVACORE_WITH_RENDERER_AMBIENT_MIXER" )
257
endif( )
258
259
if( ITA_VACORE_WITH_RENDERER_AMBISONICS_FREE_FIELD )
	add_definitions( "-DVACORE_WITH_RENDERER_AMBISONICS_FREE_FIELD" )
260
endif( )
261
262
if( ITA_VACORE_WITH_RENDERER_BINAURAL_FREE_FIELD )
	add_definitions( "-DVACORE_WITH_RENDERER_BINAURAL_FREE_FIELD" )
263
endif( )
264
265
if( ITA_VACORE_WITH_RENDERER_BINAURAL_ARTIFICIAL_REVERB )
	add_definitions( "-DVACORE_WITH_RENDERER_BINAURAL_ARTIFICIAL_REVERB" )
266
endif( )
267
if( ITA_VACORE_WITH_RENDERER_BINAURAL_ROOM_ACOUSTICS )
268
269
	if( RAVENNET_FOUND )
		vista_use_package( RavenNet REQUIRED FIND_DEPENDENCIES )
270
271
		add_definitions( "-DVACORE_WITH_RENDERER_BINAURAL_ROOM_ACOUSTICS" )
	else( )
272
		message( "Could not find RavenNet, which is required by binaural room acoustics audio renderer" )
273
	endif( )
274
endif( )
275
if( ITA_VACORE_WITH_RENDERER_BINAURAL_AIR_TRAFFIC_NOISE )
276
	add_definitions( "-DVACORE_WITH_RENDERER_BINAURAL_AIR_TRAFFIC_NOISE" )
277
endif( )
278
279
280
if( ITA_VACORE_WITH_RENDERER_BINAURAL_OUTDOOR_NOISE )
	add_definitions( -DVACORE_WITH_RENDERER_BINAURAL_OUTDOOR_NOISE )
endif( )
281
282
if( ITA_VACORE_WITH_RENDERER_PROTOTYPE_FREE_FIELD )
	add_definitions( "-DVACORE_WITH_RENDERER_PROTOTYPE_FREE_FIELD" )
283
endif( )
284
285
if( ITA_VACORE_WITH_RENDERER_PROTOTYPE_DUMMY )
	add_definitions( "-DVACORE_WITH_RENDERER_PROTOTYPE_DUMMY" )
286
endif( )
287
288
if( ITA_VACORE_WITH_RENDERER_PROTOTYPE_HEARING_AID )
	add_definitions( "-DVACORE_WITH_RENDERER_PROTOTYPE_HEARING_AID" )
289
endif( )
290
291
if( ITA_VACORE_WITH_RENDERER_PROTOTYPE_GENERIC_PATH )
	add_definitions( "-DVACORE_WITH_RENDERER_PROTOTYPE_GENERIC_PATH" )
292
endif( )
293
294
if( ITA_VACORE_WITH_RENDERER_VBAP_FREE_FIELD )
	add_definitions( "-DVACORE_WITH_RENDERER_VBAP_FREE_FIELD" )
295
endif( )
296
297

# Reproduction definitions
298
299
if( ITA_VACORE_WITH_REPRODUCTION_TALKTHROUGH )
	add_definitions( "-DVACORE_WITH_REPRODUCTION_TALKTHROUGH" )
300
endif( )
301
302
if( ITA_VACORE_WITH_REPRODUCTION_HEADPHONES )
	add_definitions( "-DVACORE_WITH_REPRODUCTION_HEADPHONES" )
303
endif( )
304
305
if( ITA_VACORE_WITH_REPRODUCTION_AMBISONICS )
	add_definitions( "-DVACORE_WITH_REPRODUCTION_AMBISONICS" )
306
endif( )
307
308
if( ITA_VACORE_WITH_REPRODUCTION_BINAURAL_NCTC )
	add_definitions( "-DVACORE_WITH_REPRODUCTION_BINAURAL_NCTC" )
309
endif( )
310
311
if( ITA_VACORE_WITH_REPRODUCTION_BINAURAL_MIXDOWN )
	add_definitions( "-DVACORE_WITH_REPRODUCTION_BINAURAL_MIXDOWN" )
312
endif( )
313
314
if( ITA_VACORE_WITH_REPRODUCTION_AMBISONICS_BINAURAL_MIXDOWN )
	add_definitions( "-DVACORE_WITH_REPRODUCTION_AMBISONICS_BINAURAL_MIXDOWN" )
315
endif( )
316
317
if( ITA_VACORE_WITH_REPRODUCTION_MIXER_LOW_FREQUENCY )
	add_definitions( "-DVACORE_WITH_REPRODUCTION_MIXER_LOW_FREQUENCY" )
318
endif( )
319
320
321

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

323
if( ITA_VACORE_WITH_TTS_SIGNAL_SOURCE )
324
	vista_use_package( CereVoice REQUIRED FIND_DEPENDENCIES)
325
	vista_use_package( samplerate REQUIRED FIND_DEPENDENCIES)
326
327
328
	if( VCEREVOICE_FOUND )
		add_definitions( "-DVACORE_WITH_TTS_SIGNAL_SOURCE" )
	endif( )
329
330
endif( )

331
332
333
# Dev switches
if( ITA_VACORE_REPRODUCTION_NCTC_WITH_SWEET_SPOT_WIDENING )
	add_definitions( "-DVACORE_REPRODUCTION_NCTC_WITH_SWEET_SPOT_WIDENING" )
334
endif( )
335

336
337
338
339
# 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" )

340

341
add_library( VACore ${ProjectSources} "conf/VACore.ini.proto" )
342
343
344
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
345
346
347
348
349
350
351
352
353

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" )

354
# VA core configuration file
355
356
357
358
359
if( NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/conf/${ITA_VACORE_DEFAULT_CONFIG_FILE_NAME}" )
	configure_file( "conf/VACore.ini.proto" "${CMAKE_CURRENT_SOURCE_DIR}/conf/${ITA_VACORE_DEFAULT_CONFIG_FILE_NAME}" @ONLY	)
else()
	message( "conf/VACore.ini exists, skipping overwrite. Manually remove generated conf/VACore.ini first, if you want to re-generate from default prototype config file." )
endif()
360

361
362
363
364
365
366
# deploy	
if( ITA_VACORE_DEPLOY_WITH_COMMON_DATA )
	install( DIRECTORY "data" DESTINATION "." )
endif( )

if( ITA_VACORE_DEPLOY_WITH_COMMON_CONFIGS )
367
	install( DIRECTORY "conf" DESTINATION "." FILES_MATCHING PATTERN "*.ini" )
368
369
370
endif( )

if( ITA_VACORE_DEPLOY_WITH_COMMON_SCRIPTS )
371
	# nothing yet
372
373
endif( )

374

Jonas Stienen's avatar
Jonas Stienen committed
375
# tests
376
if( ITA_VA_WITH_TESTS OR ITA_VACORE_WITH_TESTS )
377
378
	set( VACORE_COMMON_BUILD TRUE )
	add_subdirectory( "${CMAKE_CURRENT_SOURCE_DIR}/tests" )
379
endif( )
380
381
382
383
384
385
386


# benchmarks
if( ITA_VA_WITH_BENCHMARKS OR ITA_VACORE_WITH_BENCHMARKS )
	set( VACORE_COMMON_BUILD TRUE )
	add_subdirectory( "${CMAKE_CURRENT_SOURCE_DIR}/benchmarks" )
endif( )