@@ -38,46 +38,42 @@ set(USE_SYSTEM_OPENCV
3838 OFF
3939 CACHE STRING "Use system OpenCV" )
4040
41- set (BUILD_OPENCV_FROM_SOURCE
42- OFF
43- CACHE STRING "Build OpenCV from tarball" )
44-
45- if (OS_LINUX)
46- if (USE_SYSTEM_OPENCV AND BUILD_OPENCV_FROM_SOURCE)
47- message (FATAL_ERROR "Only one of USE_SYSTEM_OPENCV and BUILD_OPENCV_FROM_SOURCE can be enabled!" )
48- endif ()
49- else ()
50- if (USE_SYSTEM_OPENCV)
51- message (FATAL_ERROR "System OpenCV is only supported on Linux!" )
52- elseif (BUILD_OPENCV_FROM_SOURCE)
53- message (FATAL_ERROR "Building OpenCV from source is only supported on Linux!" )
54- endif ()
41+ if (NOT OS_LINUX AND USE_SYSTEM_OPENCV)
42+ message (FATAL_ERROR "System OpenCV is only supported on Linux!" )
5543endif ()
5644
5745if (USE_SYSTEM_OPENCV)
5846 find_package (OpenCV REQUIRED COMPONENTS core imgproc)
5947 target_link_libraries (${CMAKE_PROJECT_NAME} PRIVATE "${OpenCV_LIBRARIES} " )
6048 target_include_directories (${CMAKE_PROJECT_NAME} SYSTEM PUBLIC "${OpenCV_INCLUDE_DIRS} " )
61- elseif (BUILD_OPENCV_FROM_SOURCE)
62- include (cmake/BuildOpenCV.cmake)
63- target_link_libraries (${CMAKE_PROJECT_NAME} PRIVATE OpenCV)
6449else ()
6550 include (cmake/FetchOpenCV.cmake)
6651 target_link_libraries (${CMAKE_PROJECT_NAME} PRIVATE OpenCV)
6752endif ()
6853
69- set (BUILD_TESSERACT_FROM_SOURCE
54+ set (USE_SYSTEM_TESSERACT
7055 OFF
71- CACHE STRING "Build Tessaract from tarball" )
72- if (BUILD_TESSERACT_FROM_SOURCE)
73- if (NOT OS_LINUX)
74- message (FATAL_ERROR "Building Tesseract from source is only supported on Linux!" )
56+ CACHE STRING "Use system Tesseract" )
57+
58+ if (NOT OS_LINUX AND USE_SYSTEM_TESSERACT)
59+ message (FATAL_ERROR "System Tesseract is only supported on Linux!" )
60+ endif ()
61+
62+ if (USE_SYSTEM_TESSERACT)
63+ find_package (Tesseract)
64+ if (Tesseract_FOUND)
65+ target_link_directories (${CMAKE_PROJECT_NAME} PRIVATE "${Tesseract_LIBRARY_DIRS} " )
66+ target_link_libraries (${CMAKE_PROJECT_NAME} PRIVATE "${Tesseract_LIBRARIES} " )
67+ target_include_directories (${CMAKE_PROJECT_NAME} SYSTEM PUBLIC "${Tesseract_INCLUDE_DIRS} " )
68+ else ()
69+ find_package (PkgConfig REQUIRED)
70+ pkg_check_modules(Tesseract REQUIRED IMPORTED_TARGET tesseract lept)
71+ target_link_libraries (${CMAKE_PROJECT_NAME} PRIVATE PkgConfig::Tesseract)
7572 endif ()
76- include (cmake/BuildTesseract.cmake)
7773else ()
7874 include (cmake/FetchTesseract.cmake)
75+ target_link_libraries (${CMAKE_PROJECT_NAME} PRIVATE Tesseract)
7976endif ()
80- target_link_libraries (${CMAKE_PROJECT_NAME} PRIVATE Tesseract)
8177
8278include (cmake/BuildInja.cmake)
8379target_link_libraries (${CMAKE_PROJECT_NAME} PRIVATE inja)
0 commit comments