cmake_minimum_required(VERSION 3.1)

project(QuickStart)

if(CMAKE_SYSTEM_NAME MATCHES "Linux")
    set(BYTERTC_LINUX 1)
    message("system info:${CMAKE_SYSTEM_PROCESSOR}")
    IF(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86")
        set(SYSTEM_X86 1)
    ELSE(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86")
        set(SYSTEM_X86 0)
    ENDIF(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86")

elseif(CMAKE_SYSTEM_NAME MATCHES "Windows")
    IF(CMAKE_CL_64)
        set(BYTERTC_WIN32 0)
    ELSE(CMAKE_CL_64)
        set(BYTERTC_WIN32 1)
    ENDIF(CMAKE_CL_64)
elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
else()
endif(CMAKE_SYSTEM_NAME MATCHES "Linux")



set(CMAKE_CXX_FLAGS_RELEASE "-g  '-std=c++11' -fPIC -pthread")
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOUIC OFF)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

#set ouput path
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${PROJECT_BINARY_DIR}/$(Configuration)/QuickStart)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${PROJECT_BINARY_DIR}/$(Configuration)/QuickStart)
message(STATUS "EXECUTABLE_OUTPUT_PATH = ****${PROJECT_BINARY_DIR}")

IF (BYTERTC_LINUX)
set(CMAKE_PREFIX_PATH $ENV{QTDIR}/lib/cmake) #don't forget to set env path QTDIR
ENDIF ()

find_package(Qt5 COMPONENTS Widgets Core Gui Network REQUIRED)

if (SYSTEM_X86)
    set(VolcEngineRTC_Lib "VolcEngineRTC_x86")
else(SYSTEM_X86)
    set(VolcEngineRTC_Lib "VolcEngineRTC_arm")
endif(SYSTEM_X86)

#link VolcEngineRTC lib
include_directories(${CMAKE_SOURCE_DIR})
include_directories(${CMAKE_SOURCE_DIR}/${VolcEngineRTC_Lib}/include)
include_directories(${CMAKE_SOURCE_DIR}/${VolcEngineRTC_Lib}/include/rtc)
include_directories(${CMAKE_SOURCE_DIR}/${VolcEngineRTC_Lib}/include/game)

set(CMAKE_AUTOMOC TRUE)
set(CMAKE_INCLUDE_CURRENT_DIR ON)

#ui
FILE(GLOB UI_FILES "ui/*.ui")
qt5_wrap_ui(MainWindow_UI_FILES ${UI_FILES})
list(APPEND ALL_SOURCES_AND_HEADERS ${UI_FILES})

message(STATUS "**************${MainWindow_UI_FILES}*************")
qt5_add_resources(MainWindow_QRC_FILES QuickStart.qrc)
#qrc

#sources
FILE(GLOB SOURCES_SOURCES_AND_HEADERS "sources/*.h" "sources/*.cpp")
source_group(sources FILES ${SOURCES_SOURCES_AND_HEADERS})
list(APPEND ALL_SOURCES_AND_HEADERS ${SOURCES_SOURCES_AND_HEADERS})
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/sources)

add_executable(QuickStart
        ${ALL_SOURCES_AND_HEADERS}
        ${MainWindow_QRC_FILES}
        "app.rc"
        )

IF (BYTERTC_LINUX)
target_link_directories(QuickStart PUBLIC ${CMAKE_SOURCE_DIR}/${VolcEngineRTC_Lib}/lib/)
ENDIF ()

find_path(PULSEAUDIO_INCLUDE_DIR
        NAMES pulse/pulseaudio.h
        DOC "The PulseAudio include directory"
    )
find_library(PULSEAUDIO_LIBRARY
        NAMES pulse
        DOC "The PulseAudio library"
    )
target_include_directories(${PROJECT_NAME} PUBLIC ${PULSEAUDIO_INCLUDE_DIRS})

target_link_libraries(QuickStart PUBLIC
        Qt5::Widgets
        Qt5::Network
        VolcEngineRTC
        pulse-simple pulse
        )


