# Copyright (c) 2023 ESWIN Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
cmake_minimum_required(VERSION 3.4.1)
project(audio_sample)

if(SYS_ROOT_DIR)
    set(CMAKE_C_COMPILER "$ENV{CROSS_COMPILE}gcc")
    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall --sysroot=${SYS_ROOT_DIR}")
endif()

file(GLOB SAMPLE_AUDIO_SOURCES "sample_audio.c" "sample_comm_audio.c"
     "adp/audio_adpcm_adp.c" "utils/utils.c")
include_directories(adp utils)
add_definitions(-D_GNU_SOURCE)
add_compile_options(-g)

add_executable(sample_audio ${SAMPLE_AUDIO_SOURCES})

if(SYS_ROOT_DIR)
    target_include_directories(sample_audio
                               PRIVATE ${SYS_ROOT_DIR}/usr/include/essdk/audio)
    target_include_directories(sample_audio
                               PRIVATE ${SYS_ROOT_DIR}/usr/include/essdk)
elseif(NOT DEFINED SAMPLE_RELEASE)
    target_include_directories(sample_audio
                               PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../include)
    target_include_directories(sample_audio
                               PRIVATE ${SOURCE_DIR}/usr/include/essdk)
    target_link_directories(
        sample_audio
        PRIVATE
        ${CMAKE_CURRENT_SOURCE_DIR}/../out/audio_sdk/install/lib/
        ${CMAKE_CURRENT_SOURCE_DIR}/../out/sof/install/lib/
        ${CMAKE_CURRENT_SOURCE_DIR}/../out/lib)
    target_link_directories(sample_audio PRIVATE ${SOURCE_DIR}/usr/lib/essdk)
else()
    target_include_directories(
        sample_audio PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../include/audio)
    target_include_directories(
        sample_audio PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../include)
    target_link_directories(sample_audio PRIVATE
                            ${CMAKE_CURRENT_SOURCE_DIR}/../../lib/audio)
    target_link_directories(sample_audio PRIVATE
                            ${CMAKE_CURRENT_SOURCE_DIR}/../../lib)
endif()

target_link_options(sample_audio PRIVATE -Wl,--as-needed)

target_link_libraries(
    sample_audio
    PRIVATE es_audio_sdk
            es_audio
            es_codec_processor
            es_audio_control
            es_audio_hal
            es_vqe
            es_params_convert
            es_audio_processing
            es_sys
            es_acodec
            -ldl
            pthread
            -les-numa)
