set( ITA_BASE_WITH_FASTMATH_IPP OFF CACHE BOOL "Build with IPP implementation of fast math ops (requires license for redistribution)")
endif()
if( NOT DEFINED ITA_BASE_WITH_FASTMATH_ASSEMBLER )
set( ITA_BASE_WITH_FASTMATH_ASSEMBLER OFF CACHE BOOL "Build with assembler implementation of fast math ops")
endif()
if( NOT DEFINED ITA_BASE_WITH_SNDFILE )
set( ITA_BASE_WITH_SNDFILE ON CACHE BOOL "Build with libsndfile to read/write audio samples for ITASampleFrame")
endif()
if( NOT DEFINED ITA_BASE_WITH_SAMPLERATE )
set( ITA_BASE_WITH_SAMPLERATE ON CACHE BOOL "Build with libsamplerate to auto-convert between samplerates")
endif()
if( NOT DEFINED ITA_BASE_WITH_OLD_ATOMICS )
set( ITA_BASE_WITH_OLD_ATOMICS OFF CACHE BOOL "Build with old atomic code for non-C++11 compatible compilers")
endif()
if( NOT DEFINED ITA_BASE_WITH_REGULAR_EXPRESSIONS )
set( ITA_BASE_WITH_REGULAR_EXPRESSIONS OFF CACHE BOOL "Build with old regular expressions code for string manipulation")
endif()
if( NOT DEFINED ITA_BASE_WITH_CONFIG_OLD_IMPL )
set( ITA_BASE_WITH_CONFIG_OLD_IMPL OFF CACHE BOOL "Build with old INI file configuration implementation (uses legacy regular expressions)")
endif()
if( NOT DEFINED ITA_BASE_WITH_OLD_RAVEN_OPS )
set( ITA_BASE_WITH_OLD_RAVEN_OPS OFF CACHE BOOL "Build with old ITAOps helper functions implementation (legacy code for RAVEN compatibility, adds GPL-licensed libs!)")
endif()
if( ITA_BASE_WITH_REGULAR_EXPRESSIONS )
vista_use_package( PCRE QUIET )
endif()
if( NOT DEFINED ITA_BASE_WITH_JSON_SUPPORT )
set( ITA_BASE_WITH_JSON_SUPPORT ${LIBJSON_FOUND} CACHE BOOL "Build ITA Base with JSON support")
endif()
# includes
include_directories("include")
# sources
include("include/_SourceFiles.cmake")
include("src/_SourceFiles.cmake")
if( ITA_BASE_WITH_JSON_SUPPORT )
vista_use_package( libjson REQUIRED )
add_definitions( -DWITH_JSON_SUPPORT )
endif()
# Win32 implementations
if( WIN32 )# see _SourceFiles.cmake in subfolders
else()
add_definitions( -DUSE_SIMPLEINI )
endif()
if( VSNDFILE_FOUND AND ITA_BASE_WITH_SNDFILE )#see _SourceFiles.cmake in subfolders
add_definitions( -DITABASE_WITH_SNDFILE )
endif()
if( VSAMPLERATE_FOUND AND ITA_BASE_WITH_SAMPLERATE )
# see _SourceFiles.cmake in subfolders
endif()
if( VIPP_FOUND AND ITA_BASE_WITH_FASTMATH_IPP )
# see _SourceFiles.cmake in subfolders
elseif( ITA_BASE_WITH_FASTMATH_ASSEMBLER )
# not recommended; see _SourceFiles.cmake in subfolders
endif()
if( ITA_BASE_WITH_OLD_ATOMICS )# see _SourceFiles.cmake in subfolders
endif()
if( ITA_BASE_WITH_OLD_RAVEN_OPS )
if( NOT ITA_BASE_WITH_CONFIG_OLD_IMPL )
message( FATAL_ERROR "ITABase old RAVEN ops requires regular expressions and old config implementation. Please activate.")
endif()
if( NOT VSPLINE_FOUND )
message( FATAL_ERROR "ITABase old RAVEN ops requires SPLINE, which was not found. Please provide.")
endif()
# see _SourceFiles.cmake in subfolders
endif()
if( VPCRE_FOUND AND ITA_BASE_WITH_REGULAR_EXPRESSIONS )# see _SourceFiles.cmake in subfolders
add_definitions( -DPCRE_STATIC )
endif()
if( ITA_BASE_WITH_CONFIG_OLD_IMPL AND NOT ITA_BASE_WITH_CONFIG_SIMPLE_INI )