# JPEG samples - independent build
cmake_minimum_required(VERSION 3.15)
project(jpeg_samples CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# Check SDK environment
if(NOT DEFINED ENV{DLICC_PATH})
    message(FATAL_ERROR "Please source sdk/env.sh first")
endif()
get_filename_component(SDK_PATH "$ENV{DLICC_PATH}/.." ABSOLUTE)

# Include paths
include_directories(${SDK_PATH}/include)
include_directories(${SDK_PATH}/include/dldt)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../common)
link_directories(${SDK_PATH}/lib)

find_package(Threads REQUIRED)

if(WIN32)
    set(PLATFORM_LIBS "")
else()
    set(PLATFORM_LIBS dl)
endif()

set(SDK_CORE_LIBS curt dljpeg dlvid dlnne)
set(COMMON ${CMAKE_CURRENT_SOURCE_DIR}/../common)

# JPEG decode sample
add_executable(jpeg_decode
    jpeg_decode.cc
    ${COMMON}/filesystem_utils.cc
    ${COMMON}/image_util.cc
    ${COMMON}/image_util_cuda.cc
)
target_link_libraries(jpeg_decode PRIVATE dldt_jpeg ${SDK_CORE_LIBS} Threads::Threads ${PLATFORM_LIBS})

# JPEG encode sample
add_executable(jpeg_encode
    jpeg_encode.cc
    ${COMMON}/filesystem_utils.cc
)
target_link_libraries(jpeg_encode PRIVATE dldt_jpeg ${SDK_CORE_LIBS} Threads::Threads ${PLATFORM_LIBS})

# JPEG transcode sample
add_executable(jpeg_transcode
    jpeg_transcode.cc
    ${COMMON}/filesystem_utils.cc
)
target_link_libraries(jpeg_transcode PRIVATE dldt_jpeg ${SDK_CORE_LIBS} Threads::Threads ${PLATFORM_LIBS})
