#
# Copyright (C) 2014-2024 Amlogic, Inc. All rights reserved.
#
# All information contained herein is Amlogic confidential.
#
# This software is provided to you pursuant to Software License Agreement
# (SLA) with Amlogic Inc ("Amlogic"). This software may be used
# only in accordance with the terms of this agreement.
#
# Redistribution and use in source and binary forms, with or without
# modification is strictly prohibited without prior written permission from
# Amlogic.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#


cmake_minimum_required(VERSION 3.5)

project(subtitleclient)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++17 -pthread")

include_directories(
        include
        ../libsubtitle
        ../libsubtitle/include
        ../libsubtitle/ipc
        ../libsubtitle/utils
        ../client
    )

set(subtitleclient_srcs
        SubtitleClientLinux.cpp
        SubtitleNativeAPI.cpp
        SubtitleReportAPI.cpp
        AmSocketClient.cpp
    )

set(subtitleservice_srcs
        ../libsubtitle/ISubtitleCallback.cpp
        ../libsubtitle/ipc/IpcSocket.cpp
    )


set(TARGET subtitleclient)
add_library(${TARGET} SHARED ${subtitleclient_srcs} ${subtitleservice_srcs})

if (NOT NDEBUG)
    add_definitions(-DNEED_DUMP_LINUX)
    target_link_libraries(${TARGET} PUBLIC log)
endif()

target_link_libraries(${TARGET} PUBLIC binder)
target_link_libraries(${TARGET} PUBLIC pthread)

set(CLIENT_PUBLIC_HEADERS
        SubtitleAPICommon.h
        SubtitleNativeAPI.h
        SubtitleNativeAPIForC.h
        SubtitleReportAPI.h
    )

install(
        FILES ${CLIENT_PUBLIC_HEADERS} DESTINATION include
    )

install(
        TARGETS ${TARGET}
    )
