cmake_minimum_required(VERSION 3.21)
include($ENV{XMOS_CMAKE_PATH}/xcommon.cmake)
project(app_an02016)

set(APP_HW_TARGET xk-audio-316-mc-700.xn)

# Use sw_usb_audio deps and add lib_awe
set(APP_DEPENDENT_MODULES "lib_awe(1.0.1)"
                          "lib_board_support(0.1.1)"
                          "lib_xua(4.2.0)")

set(LIB_AWE_PATH ../../lib_awe)

set(APP_PCA_ENABLE ON)

set(APP_COMMON_BUILD_FLAGS                      -fcomment-asm
                                                -O3
                                                -mno-dual-issue
                                                -report
                                                -lquadflash
                                                -g
                                                -DBOARD_SUPPORT_BOARD=XK_AUDIO_316_MC_AB
                                                -DUSB_TILE=tile[0]
                                                -DXUA_QUAD_SPI_FLASH=1
                                                -DMIXER=0)

# Build Configurations:

# Audio transport:   USB
# Tuning interface:  USB HID + Internal
# DFU:               USB
# FFS:               Disabled
set(APP_COMPILER_FLAGS_UA                       ${EXTRA_BUILD_FLAGS}
                                                ${APP_COMMON_BUILD_FLAGS})

# Audio transport:   I2S
# Tuning interface:  USB HID + Internal
# DFU:               USB
# FFS:               Disabled
set(APP_COMPILER_FLAGS_I2S                      ${EXTRA_BUILD_FLAGS}
                                                ${APP_COMMON_BUILD_FLAGS}
                                                -DCODEC_MASTER=1
                                                -DAUDIO_CLASS=2
                                                -DNUM_USB_CHAN_OUT=0
                                                -DNUM_USB_CHAN_IN=0
                                                -DI2S_ONLY=1)

# Audio transport:   USB
# Tuning interface:  USB HID + Internal
# DFU:               USB
# FFS:               Enabled
set(APP_COMPILER_FLAGS_UA_FFS                   ${APP_COMPILER_FLAGS_UA}
                                                -DAWE_USE_FLASH_FILE_SYSTEM=1)

set(APP_COMPILER_FLAGS_playBasic_3thread_InitAWB.c  -DCore0_InitCommands=Core0_InitCommands_Basic_3thread
                                                    -DCore0_InitCommands_Len=Core0_InitCommands_Basic_3thread_Len)

set(APP_COMPILER_FLAGS_simple_volume_InitAWB.c      -DCore0_InitCommands=Core0_InitCommands_simple_volume
                                                    -DCore0_InitCommands_Len=Core0_InitCommands_simple_volume_Len)

# These are specified manually so they can be extended with the AWB image files
set(APP_C_SRCS                  src/awe_audio.c
                                src/awe_standalone_tuning.c
                                ${LIB_AWE_PATH}/examples/audioweaver/awb_files/playBasic_3thread_InitAWB.c
                                ${LIB_AWE_PATH}/examples/audioweaver/awb_files/simple_volume_InitAWB.c)

set(APP_INCLUDES    src
                    src/core
                    src/extensions
                    ${LIB_AWE_PATH}/examples/audioweaver/awb_files)

set(XMOS_SANDBOX_DIR ${CMAKE_CURRENT_LIST_DIR}/../..)

XMOS_REGISTER_APP()
