@@ -12,7 +12,6 @@ option(USE_PKGCONFIG "Use pkg-config to find dependencies" OFF)
1212
1313option (USE_SYSTEM_ONNXRUNTIME "Use system ONNX Runtime" OFF )
1414option (DISABLE_ONNXRUNTIME_GPU "Disables GPU support of ONNX Runtime (Only valid on Linux)" OFF )
15- set (USE_SYSTEM_OPENCV OFF CACHE STRING "Use system OpenCV" )
1615
1716include (compilerconfig)
1817include (defaults)
@@ -49,6 +48,10 @@ if(NOT VCPKG_TARGET_TRIPLET STREQUAL "")
4948 list (PREPEND CMAKE_PREFIX_PATH "${CMAKE_SOURCE_DIR} /vcpkg_installed/${VCPKG_TARGET_TRIPLET} " )
5049
5150 find_package (CURL CONFIG REQUIRED)
51+ find_package (OpenCV CONFIG REQUIRED)
52+
53+ add_library (OpenCV::opencv_core ALIAS opencv_core)
54+ add_library (OpenCV::opencv_imgproc ALIAS opencv_imgproc)
5255elseif (USE_PKGCONFIG)
5356 # Use pkg-config to find dependencies (Arch Linux, etc.)
5457
@@ -63,12 +66,24 @@ elseif(USE_PKGCONFIG)
6366 target_include_directories (CURL::libcurl INTERFACE ${PC_CURL_INCLUDE_DIRS} )
6467 target_compile_definitions (CURL::libcurl INTERFACE ${PC_CURL_CFLAGS_OTHER} )
6568 target_link_directories (CURL::libcurl INTERFACE ${PC_CURL_LIBRARY_DIRS} )
69+
70+ # OpenCV
71+ pkg_check_modules(PC_OPENCV REQUIRED opencv4)
72+ add_library (OpenCV::opencv_core INTERFACE IMPORTED )
73+ target_link_libraries (OpenCV::opencv_core INTERFACE opencv_core)
74+ target_include_directories (OpenCV::opencv_core INTERFACE ${PC_OPENCV_INCLUDE_DIRS} )
75+ target_compile_definitions (OpenCV::opencv_core INTERFACE ${PC_OPENCV_CFLAGS_OTHER} )
76+ target_link_directories (OpenCV::opencv_core INTERFACE ${PC_OPENCV_LIBRARY_DIRS} )
77+ add_library (OpenCV::opencv_imgproc INTERFACE IMPORTED )
78+ target_link_libraries (OpenCV::opencv_imgproc INTERFACE opencv_imgproc)
79+ target_link_directories (OpenCV::opencv_imgproc INTERFACE ${PC_OPENCV_LIBRARY_DIRS} )
6680else ()
6781 # Let system find dependencies (Fallback)
6882
6983 message (STATUS "Using system to find dependencies" )
7084
7185 find_package (CURL REQUIRED)
86+ find_package (OpenCV CONFIG REQUIRED)
7287endif ()
7388
7489if (DISABLE_ONNXRUNTIME_GPU)
@@ -94,21 +109,8 @@ else()
94109 include (cmake/FetchOnnxruntime.cmake)
95110endif ()
96111
97- if (USE_SYSTEM_OPENCV)
98- if (OS_LINUX)
99- find_package (OpenCV REQUIRED COMPONENTS core imgproc)
100- target_link_libraries (${CMAKE_PROJECT_NAME} PRIVATE "${OpenCV_LIBRARIES} " )
101- target_include_directories (${CMAKE_PROJECT_NAME} SYSTEM PUBLIC "${OpenCV_INCLUDE_DIRS} " )
102- else ()
103- message (FATAL_ERROR "System OpenCV is only supported on Linux!" )
104- endif ()
105- else ()
106- include (cmake/FetchOpenCV.cmake)
107- target_link_libraries (${CMAKE_PROJECT_NAME} PRIVATE OpenCV)
108- endif ()
109-
110112add_subdirectory (src/update-checker/CurlClient)
111- target_link_libraries (${CMAKE_PROJECT_NAME} PRIVATE CurlClient)
113+ target_link_libraries (${CMAKE_PROJECT_NAME} PRIVATE CurlClient OpenCV::opencv_core OpenCV::opencv_imgproc )
112114
113115target_sources (
114116 ${CMAKE_PROJECT_NAME}
0 commit comments