avs-device-sdk/srcs/CMakeLists.txt

105 lines
3.3 KiB
CMake

cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
# Set project information
project(AlexaClientSDK VERSION 1.26.0 LANGUAGES CXX)
set(PROJECT_BRIEF "A cross-platform, modular SDK for interacting with the Alexa Voice Service")
if (COMPANION_APP_AUTH)
add_definitions("-DCOMPANION_APP_AUTH")
endif()
#set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s")
#set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")
#set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -s")
#set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -s")
#set(CMAKE_THREAD_LIBS_INIT "-lpthread")
#set(CMAKE_HAVE_THREADS_LIBRARY 1)
#set(CMAKE_USE_WIN32_THREADS_INIT 0)
#set(CMAKE_USE_PTHREADS_INIT 1)
#set(THREADS_PREFER_PTHREAD_FLAG ON)
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fstack-protector")
#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fstack-protector")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive -D__ARM_PCS_VFP")
set(AUTH_APP_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/extension/avs-app-auth/include" CACHE INTERNAL "")
# This variable should be used by extension packages to include cmake files from this project.
get_filename_component(AVS_CORE . ABSOLUTE)
get_filename_component(AVS_CORE_BINARY ${PROJECT_BINARY_DIR} ABSOLUTE)
# This variable should be used to get the cmake build files.
get_filename_component(AVS_CMAKE_BUILD cmakeBuild ABSOLUTE)
include(${AVS_CMAKE_BUILD}/BuildDefaults.cmake)
include(tools/Testing.cmake)
# Set variables for target install and .pc pkg-config file
include(${AVS_CMAKE_BUILD}/cmake/PrepareInstall.cmake)
configure_file (
"${PROJECT_SOURCE_DIR}/AVSCommon/Utils/include/AVSCommon/Utils/SDKVersion.h.in"
"${PROJECT_BINARY_DIR}/AVSCommon/Utils/include/AVSCommon/Utils/SDKVersion.h"
)
configure_file (
"${PROJECT_SOURCE_DIR}/AVSCommon/Utils/include/AVSCommon/Utils/SDKConfig.h.in"
"${PROJECT_BINARY_DIR}/AVSCommon/Utils/include/AVSCommon/Utils/SDKConfig.h"
)
# Add utils under ThirdParty first so extensions can also utilize them
add_subdirectory("ThirdParty")
# Add extension point targets.
include(${AVS_CMAKE_BUILD}/cmake/ExtensionPath.cmake)
add_extension_projects()
# Alexa Client SDK targets.
add_subdirectory("applications")
add_subdirectory("AVSCommon")
add_subdirectory("Metrics")
add_subdirectory("ACL")
add_subdirectory("ADSL")
add_subdirectory("AFML")
add_subdirectory("Captions")
add_subdirectory("core")
add_subdirectory("AVSGatewayManager")
add_subdirectory("CertifiedSender")
add_subdirectory("Endpoints")
add_subdirectory("Settings")
add_subdirectory("BluetoothImplementations")
add_subdirectory("ContextManager")
add_subdirectory("CapabilitiesDelegate")
if (DIAGNOSTICS)
add_subdirectory("Diagnostics")
endif()
add_subdirectory("InterruptModel")
add_subdirectory("PlaylistParser")
add_subdirectory("CapabilityAgents")
if (NOT MSVC)
add_subdirectory("Integration")
endif()
add_subdirectory("SampleApp")
add_subdirectory("ApplicationUtilities")
add_subdirectory("MediaPlayer")
add_subdirectory("shared")
add_subdirectory("SpeechEncoder")
add_subdirectory("Storage")
add_subdirectory("SynchronizeStateSender")
add_subdirectory("doc")
if (ASPMIC)
add_subdirectory("extension/mic-asp-sdk")
endif()
add_subdirectory("extension/avs-app-auth")
add_subdirectory("extension/avs-msg-sdk")
# Create .pc pkg-config file
include(${AVS_CMAKE_BUILD}/cmake/GeneratePkgConfig.cmake)