cmake_minimum_required (VERSION 3.22)

project(xlt_api_demo)

FILE(GLOB_RECURSE SOURCES_ALL
     ${CMAKE_CURRENT_SOURCE_DIR}/xlt_api_demo/*.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/xlt_api_demo/*.h)

SET(OUTPUT_DIR ${PROJECT_SOURCE_DIR}/targets)
SET(XLIGHT_SDK_ROOT ${PROJECT_SOURCE_DIR}/..)
SET(XLIGHT_SDK_INC_DIR ${XLIGHT_SDK_ROOT}/include)
SET(XLIGHT_SDK_LIB_DIR ${XLIGHT_SDK_ROOT}/lib)

SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${OUTPUT_DIR}/lib)
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_DIR}/lib)
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OUTPUT_DIR}/bin)
SET(PLATFORM_TARGET x64)

SET(CMAKE_INSTALL_PREFIX ${OUTPUT_DIR})
SET(CMAKE_CXX_STANDARD 11)
SET(CMAKE_CXX_STANDARD_REQUIRED ON)
SET(CMAKE_CXX_EXTENSIONS OFF)

SET(BIN_TARGET xlt_api_demo)
ADD_EXECUTABLE(${BIN_TARGET} ${SOURCES_ALL})

TARGET_INCLUDE_DIRECTORIES(${BIN_TARGET} PUBLIC ${XLIGHT_SDK_INC_DIR})
TARGET_LINK_DIRECTORIES(${BIN_TARGET} PRIVATE ${XLIGHT_SDK_LIB_DIR})
TARGET_LINK_LIBRARIES(${BIN_TARGET} PRIVATE xlt_api)


IF (CMAKE_BUILD_TYPE STREQUAL Debug)
    ADD_DEFINITIONS(-DDEBUG)
ELSE()
    ADD_DEFINITIONS(-DNDEBUG)
ENDIF()

IF (CMAKE_SYSTEM_NAME MATCHES "Linux")

    SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -ggdb -pthread")
    SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall -pthread")

    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")

    INSTALL(FILES ${XLIGHT_SDK_LIB_DIR}/libxlt_api.so DESTINATION bin)
ENDIF()


