sishu-yolo-sdk/cpp/CMakeLists.txt

61 lines
1.2 KiB
CMake

cmake_minimum_required(VERSION 3.18)
project(MyYoloSdk CXX)
set(CMAKE_CXX_STANDARD 17)
# --- 1.
find_package(JNI REQUIRED)
# --- 2.
find_package(OpenCV REQUIRED)
# --- 3.
#
set(ORT_MANUAL_PATH ${CMAKE_SOURCE_DIR}/../prebuilt_libs/onnxruntime-win-x64-1.23.2)
#
find_path(ONNXRuntime_INCLUDE_DIRS
NAMES onnxruntime_cxx_api.h
HINTS ${ORT_MANUAL_PATH}/include
)
#
find_library(ONNXRuntime_LIBRARY
NAMES onnxruntime
HINTS ${ORT_MANUAL_PATH}/lib
)
#
if(NOT ONNXRuntime_INCLUDE_DIRS OR NOT ONNXRuntime_LIBRARY)
message(FATAL_ERROR "Failed to find manual ONNX Runtime at ${ORT_MANUAL_PATH}")
endif()
message(STATUS "Found Manual ONNX Runtime Include: ${ONNXRuntime_INCLUDE_DIRS}")
message(STATUS "Found Manual ONNX Runtime Library: ${ONNXRuntime_LIBRARY}")
# --- 4.
add_library(my_yolo_sdk SHARED
src/YoloCore.cpp
src/YoloSdk_JNI.cpp
)
# --- 5.
target_include_directories(my_yolo_sdk PUBLIC
${JNI_INCLUDE_DIRS}
${OpenCV_INCLUDE_DIRS}
${ONNXRuntime_INCLUDE_DIRS} #
include
)
target_link_libraries(my_yolo_sdk PRIVATE
${JNI_LIBRARIES}
${OpenCV_LIBS}
${ONNXRuntime_LIBRARY} #
)
# --- 6.
if(UNIX)
set_target_properties(my_yolo_sdk PROPERTIES
INSTALL_RPATH "$ORIGIN"
)
endif()