cmake_minimum_required (VERSION 3.14)
project(aidgen_mlm_samples)

set(CMAKE_BUILD_TYPE Release)

IF (NOT CMAKE_BUILD_TYPE)
    set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: Debug Release" FORCE)
ENDIF()
message(STATUS "BuildType is ${CMAKE_BUILD_TYPE}")

if(CMAKE_BUILD_TYPE MATCHES "Release")
    set(CMAKE_CXX_FLAGS "-Wall")
else()
    set(CMAKE_CXX_FLAGS "-Wall -g")
endif()

Option(WITH_ASAN "Enable sanitize check." OFF)
if(WITH_ASAN)
    message(STATUS "Sanitizer is ON")
    set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} -fno-omit-frame-pointer -fsanitize=address -fsanitize=leak -fsanitize=undefined")
endif()

# for opencv4
include_directories(/usr/include/opencv4)

include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../common/third/nlohmann_json/)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../common/third/fmtlib_fmt/fmt-12.1.0/include/)

link_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../build/)

if (CMAKE_SYSTEM_NAME MATCHES "Android")
    include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../build_android/install/arm64-v8a/inc/)
    link_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../build_android/install/arm64-v8a/lib/)
    
    if (NOT OPENCV_ANDROID_DIR)
        message(FATAL_ERROR "OPENCV_ANDROID_DIR is not set. Please specify the OpenCV Android SDK path, e.g. -DOPENCV_ANDROID_DIR=/path/to/opencv/build/install/sdk/native")
    endif()
    include_directories(${OPENCV_ANDROID_DIR}/jni/include/)
    link_directories(${OPENCV_ANDROID_DIR}/libs/arm64-v8a/)
endif()

add_executable(test_aidmlm
                ${CMAKE_CURRENT_SOURCE_DIR}/test_aidmlm.cpp
)

target_link_libraries(test_aidmlm PRIVATE
                        aidgen_qnn240
                        opencv_imgcodecs
                        opencv_imgproc
                        opencv_core
)
