Skip to content

Commit 53726ca

Browse files
authored
Options to select system libraries (#14)
* Options to select system libraries * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt
1 parent 91751ff commit 53726ca

File tree

6 files changed

+20
-116
lines changed

6 files changed

+20
-116
lines changed

.gitmodules

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,3 @@
11
[submodule "vendor/inja"]
22
path = vendor/inja
33
url = https://github.com/pantor/inja.git
4-
[submodule "vendor/obs-ocr-deps"]
5-
path = vendor/obs-ocr-deps
6-
url = https://github.com/occ-ai/obs-ocr-deps.git
7-
[submodule "vendor/obs-backgroundremoval-dep-opencv"]
8-
path = vendor/obs-backgroundremoval-dep-opencv
9-
url = https://github.com/occ-ai/obs-backgroundremoval-dep-opencv.git

CMakeLists.txt

Lines changed: 20 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -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!")
5543
endif()
5644

5745
if(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)
6449
else()
6550
include(cmake/FetchOpenCV.cmake)
6651
target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE OpenCV)
6752
endif()
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)
7773
else()
7874
include(cmake/FetchTesseract.cmake)
75+
target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE Tesseract)
7976
endif()
80-
target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE Tesseract)
8177

8278
include(cmake/BuildInja.cmake)
8379
target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE inja)

cmake/BuildOpenCV.cmake

Lines changed: 0 additions & 36 deletions
This file was deleted.

cmake/BuildTesseract.cmake

Lines changed: 0 additions & 48 deletions
This file was deleted.
Lines changed: 0 additions & 1 deletion
This file was deleted.

vendor/obs-ocr-deps

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)