1# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
2# file Copyright.txt or https://cmake.org/licensing for details.
3
4#[=======================================================================[.rst:
5FindHSPELL
6----------
7
8Try to find Hebrew spell-checker (Hspell) and morphology engine.
9
10Once done this will define
11
12::
13
14  HSPELL_FOUND - system has Hspell
15  HSPELL_INCLUDE_DIR - the Hspell include directory
16  HSPELL_LIBRARIES - The libraries needed to use Hspell
17  HSPELL_DEFINITIONS - Compiler switches required for using Hspell
18
19
20
21::
22
23  HSPELL_VERSION_STRING - The version of Hspell found (x.y)
24  HSPELL_MAJOR_VERSION  - the major version of Hspell
25  HSPELL_MINOR_VERSION  - The minor version of Hspell
26#]=======================================================================]
27
28find_path(HSPELL_INCLUDE_DIR hspell.h)
29
30find_library(HSPELL_LIBRARIES NAMES hspell)
31
32if (HSPELL_INCLUDE_DIR)
33    file(STRINGS "${HSPELL_INCLUDE_DIR}/hspell.h" HSPELL_H REGEX "#define HSPELL_VERSION_M(AJO|INO)R [0-9]+")
34    string(REGEX REPLACE ".*#define HSPELL_VERSION_MAJOR ([0-9]+).*" "\\1" HSPELL_VERSION_MAJOR "${HSPELL_H}")
35    string(REGEX REPLACE ".*#define HSPELL_VERSION_MINOR ([0-9]+).*" "\\1" HSPELL_VERSION_MINOR "${HSPELL_H}")
36    set(HSPELL_VERSION_STRING "${HSPELL_VERSION_MAJOR}.${HSPELL_VERSION_MINOR}")
37    unset(HSPELL_H)
38endif()
39
40include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
41FIND_PACKAGE_HANDLE_STANDARD_ARGS(HSPELL
42                                  REQUIRED_VARS HSPELL_LIBRARIES HSPELL_INCLUDE_DIR
43                                  VERSION_VAR HSPELL_VERSION_STRING)
44
45mark_as_advanced(HSPELL_INCLUDE_DIR HSPELL_LIBRARIES)
46