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 )