# 设置cmake的最低版本
cmake_minimum_required(VERSION 3.5)

# 设置项目名
project(PaddleOCR_Ort)

# 设置编译器
set(CMAKE_CXX_COMPILER g++)
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -std=c++17) # 2.2版本以上需要c++17
set(CMAKE_BUILD_TYPE release)

# 配置OpenCV环境
find_package(OpenCV REQUIRED)

# 添加头文件路径
set(INCLUDE_PATH    ${CMAKE_CURRENT_SOURCE_DIR}/include/
                    $ENV{DTKROOT}/include/
                    $ENV{DTKROOT}/onnxruntime/include/
                    ${OpenCV_INCLUDE_DIRS}
                    ${CMAKE_CURRENT_SOURCE_DIR}/depend/include/)
include_directories(${INCLUDE_PATH})

# 添加依赖库路径
set(LIBRARY_PATH ${CMAKE_CURRENT_SOURCE_DIR}/depend/lib64/
                $ENV{DTKROOT}/lib/)
link_directories(${LIBRARY_PATH})

# 添加依赖库
set(LIBRARY opencv_core
            opencv_imgproc
            opencv_imgcodecs
            opencv_dnn
            onnxruntime
            )
link_libraries(${LIBRARY})

# 添加源文件
set(SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/Src/main.cpp
                ${CMAKE_CURRENT_SOURCE_DIR}/Src/AngleNet.cpp
                ${CMAKE_CURRENT_SOURCE_DIR}/Src/clipper.cpp
                ${CMAKE_CURRENT_SOURCE_DIR}/Src/CrnnNet.cpp
                ${CMAKE_CURRENT_SOURCE_DIR}/Src/DbNet.cpp
                ${CMAKE_CURRENT_SOURCE_DIR}/Src/getopt.cpp
                ${CMAKE_CURRENT_SOURCE_DIR}/Src/OcrLite.cpp
                ${CMAKE_CURRENT_SOURCE_DIR}/Src/OcrLiteCApi.cpp
                ${CMAKE_CURRENT_SOURCE_DIR}/Src/OcrLiteJni.cpp
                ${CMAKE_CURRENT_SOURCE_DIR}/Src/OcrResultUtils.cpp
                ${CMAKE_CURRENT_SOURCE_DIR}/Src/OcrUtils.cpp
                )

# 添加可执行目标
add_executable(PaddleOCR ${SOURCE_FILES})
