FindHSPELL.cmake 1.5 KB

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