Warning, /utilities/skanpage/cmake/FindTesseract.cmake is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2021 Alexander Stippich <a.stippich@gmx.net>
0002 #
0003 # SPDX-License-Identifier: BSD-2-Clause
0004 #
0005 # Tesseract_FOUND - system has Tesseract
0006 # Tesseract_INCLUDE_DIR - the Tesseract include directory
0007 # Tesseract_LIBRARIES - The libraries needed to use Tesseract
0008
0009 find_path(Tesseract_INCLUDE_DIRS tesseract/baseapi.h
0010 /usr/include
0011 /usr/local/include
0012 /opt/local/include
0013 )
0014
0015 find_library(Tesseract_LIBRARIES NAMES tesseract libtesseract
0016 PATHS
0017 /usr/lib
0018 /usr/local/lib
0019 /opt/local/lib
0020 )
0021
0022 if(NOT Tesseract_VERSION AND DEFINED Tesseract_INCLUDE_DIRS)
0023 if(EXISTS "${Tesseract_INCLUDE_DIRS}/tesseract/version.h")
0024 file(READ "${Tesseract_INCLUDE_DIRS}/tesseract/version.h" TESSERACT_H)
0025
0026 string(REGEX MATCH "#define TESSERACT_MAJOR_VERSION[ ]+[0-9]+" TESSERACT_MAJOR_VERSION_MATCH ${TESSERACT_H})
0027 string(REGEX MATCH "#define TESSERACT_MINOR_VERSION[ ]+[0-9]+" TESSERACT_MINOR_VERSION_MATCH ${TESSERACT_H})
0028 string(REGEX MATCH "#define TESSERACT_PATCH_VERSION[ ]+[0-9]+" TESSERACT_PATCH_VERSION_MATCH ${TESSERACT_H})
0029
0030 string(REGEX REPLACE ".*_MAJOR_VERSION[ ]+(.*)" "\\1" TESSERACT_MAJOR_VERSION "${TESSERACT_MAJOR_VERSION_MATCH}")
0031 string(REGEX REPLACE ".*_MINOR_VERSION[ ]+(.*)" "\\1" TESSERACT_MINOR_VERSION "${TESSERACT_MINOR_VERSION_MATCH}")
0032 string(REGEX REPLACE ".*_PATCH_VERSION[ ]+(.*)" "\\1" TESSERACT_PATCH_VERSION "${TESSERACT_PATCH_VERSION_MATCH}")
0033
0034 set(Tesseract_VERSION "${TESSERACT_MAJOR_VERSION}.${TESSERACT_MINOR_VERSION}.${TESSERACT_PATCH_VERSION}")
0035 elseif(EXISTS "${Tesseract_INCLUDE_DIRS}/tesseract/tess_version.h")
0036 file(READ "${Tesseract_INCLUDE_DIRS}/tesseract/tess_version.h" TESSERACT_H)
0037
0038 string(REGEX MATCH "#define TESSERACT_MAJOR_VERSION[ ]+[0-9]+" TESSERACT_MAJOR_VERSION_MATCH ${TESSERACT_H})
0039 string(REGEX MATCH "#define TESSERACT_MINOR_VERSION[ ]+[0-9]+" TESSERACT_MINOR_VERSION_MATCH ${TESSERACT_H})
0040 string(REGEX MATCH "#define TESSERACT_PATCH_VERSION[ ]+[0-9]+" TESSERACT_PATCH_VERSION_MATCH ${TESSERACT_H})
0041
0042 string(REGEX REPLACE ".*_MAJOR_VERSION[ ]+(.*)" "\\1" TESSERACT_MAJOR_VERSION "${TESSERACT_MAJOR_VERSION_MATCH}")
0043 string(REGEX REPLACE ".*_MINOR_VERSION[ ]+(.*)" "\\1" TESSERACT_MINOR_VERSION "${TESSERACT_MINOR_VERSION_MATCH}")
0044 string(REGEX REPLACE ".*_PATCH_VERSION[ ]+(.*)" "\\1" TESSERACT_PATCH_VERSION "${TESSERACT_PATCH_VERSION_MATCH}")
0045
0046 set(Tesseract_VERSION "${TESSERACT_MAJOR_VERSION}.${TESSERACT_MINOR_VERSION}.${TESSERACT_PATCH_VERSION}")
0047 endif()
0048 endif()
0049
0050 include(FindPackageHandleStandardArgs)
0051 find_package_handle_standard_args(Tesseract
0052 FOUND_VAR
0053 Tesseract_FOUND
0054 REQUIRED_VARS
0055 Tesseract_LIBRARIES
0056 Tesseract_INCLUDE_DIRS
0057 VERSION_VAR
0058 Tesseract_VERSION
0059 )
0060
0061 if(Tesseract_FOUND AND NOT TARGET Tesseract::Tesseract)
0062 add_library(Tesseract::Tesseract UNKNOWN IMPORTED)
0063 set_target_properties(Tesseract::Tesseract PROPERTIES
0064 IMPORTED_LOCATION "${Tesseract_LIBRARIES}"
0065 INTERFACE_INCLUDE_DIRECTORIES "${Tesseract_INCLUDE_DIRS}"
0066 )
0067 endif()
0068
0069 mark_as_advanced(Tesseract_LIBRARIES Tesseract_INCLUDE_DIRS Tesseract_VERSION)
0070
0071 include(FeatureSummary)
0072 set_package_properties(Tesseract PROPERTIES
0073 DESCRIPTION "Optical Character Recognition (OCR) library"
0074 URL "https://github.com/tesseract-ocr/tesseract"
0075 )