58 lines
2.7 KiB
CMake
58 lines
2.7 KiB
CMake
#
|
|
# Provide default library names for libraries that may be overriden either by custom
|
|
# implementations added via EXTENSION_PATHS or by alternate implementations available
|
|
# in the SDK.
|
|
|
|
macro(UseDefaultIfNotSet var default)
|
|
if (NOT ${var})
|
|
set(${var} ${default})
|
|
endif()
|
|
message(STATUS "UseDefaultIfNotSet: ${var} set to ${${var}}.")
|
|
endmacro()
|
|
|
|
UseDefaultIfNotSet(ACSDKALEXACOMMUNICATIONS_LIB acsdkLibcurlAlexaCommunications)
|
|
UseDefaultIfNotSet(ACSDKAUTHORIZATIONDELEGATE_LIB acsdkCBLAuthorizationDelegate)
|
|
UseDefaultIfNotSet(ACSDKDEVICESETTINGSMANAGER_LIB acsdkDefaultDeviceSettingsManager)
|
|
UseDefaultIfNotSet(ACSDKHTTPCONTENTFETCHER_LIB acsdkLibcurlHTTPContentFetcher)
|
|
UseDefaultIfNotSet(ACSDKINTERNETCONNECTIONMONITOR_LIB acsdkDefaultInternetConnectionMonitor)
|
|
UseDefaultIfNotSet(ACSDKMETRICRECORDER_LIB acsdkNullMetricRecorder)
|
|
UseDefaultIfNotSet(ACSDKSYSTEMTIMEZONE_LIB acsdkNullSystemTimeZone)
|
|
|
|
#
|
|
# Default audio pipeline factory implementation depends on which media player is being used.
|
|
#
|
|
if (GSTREAMER_MEDIA_PLAYER)
|
|
UseDefaultIfNotSet(ACSDKAPPLICATIONAUDIOPIPELINEFACTORY_LIB acsdkGstreamerApplicationAudioPipelineFactory)
|
|
elseif(ANDROID)
|
|
# When building the SDK for Android, ANDROID_MEDIA_PLAYER is ON by default (whether explicitly specified or not).
|
|
if(NOT ANDROID_MEDIA_PLAYER STREQUAL "OFF")
|
|
UseDefaultIfNotSet(ACSDKAPPLICATIONAUDIOPIPELINEFACTORY_LIB acsdkAndroidApplicationAudioPipelineFactory)
|
|
endif()
|
|
elseif(CUSTOM_MEDIA_PLAYER)
|
|
UseDefaultIfNotSet(ACSDKAPPLICATIONAUDIOPIPELINEFACTORY_LIB acsdkCustomApplicationAudioPipelineFactory)
|
|
endif()
|
|
|
|
#
|
|
# When Bluetooth is enabled, the default implementation is BlueZ. When disabled, use the null implementation.
|
|
#
|
|
if (BLUETOOTH_ENABLED)
|
|
if (BLUETOOTH_BLUEZ)
|
|
UseDefaultIfNotSet(ACSDKBLUETOOTHIMPLEMENTATIONS_LIB acsdkBlueZBluetoothImplementation)
|
|
else()
|
|
# Log a warning for this case, but not a fatal error. Applications that use the deprecated DefaultClient::create
|
|
# method may use their own Bluetooth implementation by passing in their implementation of BluetoothDeviceManagerInterface,
|
|
# without specifying a custom ACSDKBLUETOOTHIMPLEMENTATIONS_LIB here.
|
|
#
|
|
# However, note that compilation for PreviewAlexaClient will fail in this case.
|
|
message(WARNING "No default library available for ACSDKBLUETOOTHIMPLEMENTATIONS_LIB when BLUETOOTH_ENABLED=ON BLUETOOTH_BLUEZ=OFF")
|
|
endif()
|
|
else()
|
|
set(ACSDKBLUETOOTHIMPLEMENTATIONS_LIB acsdkNullBluetoothImplementation)
|
|
endif()
|
|
|
|
if (OPUS)
|
|
UseDefaultIfNotSet(ACSDKSPEECHENCODER_LIB acsdkOpusSpeechEncoder)
|
|
else()
|
|
UseDefaultIfNotSet(ACSDKSPEECHENCODER_LIB acsdkNullSpeechEncoder)
|
|
endif()
|