PageRenderTime 52ms CodeModel.GetById 26ms RepoModel.GetById 1ms app.codeStats 0ms

/tags/rel-2-0-alpha2/bibletime/cmake/FindCLucene.cmake

#
CMake | 108 lines | 80 code | 13 blank | 15 comment | 1 complexity | 1e8af4374254668764c131f2dedc6610 MD5 | raw file
Possible License(s): GPL-2.0, AGPL-1.0
  1. #
  2. # SOURCE: http://websvn.kde.org/trunk/kdesupport/strigi/cmake/FindCLucene.cmake?view=log
  3. #
  4. # ONE FIX: /usr/lib64 added to work on Fedora
  5. #
  6. #
  7. # This module looks for clucene (http://clucene.sf.net) support
  8. # It will define the following values
  9. #
  10. # CLUCENE_INCLUDE_DIR = where CLucene/StdHeader.h can be found
  11. # CLUCENE_LIBRARY_DIR = where CLucene/clucene-config.h can be found
  12. # CLUCENE_LIBRARY = the library to link against CLucene
  13. # CLUCENE_VERSION = The CLucene version string
  14. # CLucene_FOUND = set to 1 if clucene is found
  15. #
  16. INCLUDE(CheckSymbolExists)
  17. INCLUDE(FindLibraryWithDebug)
  18. if(NOT CLUCENE_MIN_VERSION)
  19. set(CLUCENE_MIN_VERSION "0.9.19")
  20. endif(NOT CLUCENE_MIN_VERSION)
  21. IF(EXISTS ${PROJECT_CMAKE}/CLuceneConfig.cmake)
  22. INCLUDE(${PROJECT_CMAKE}/CLuceneConfig.cmake)
  23. ENDIF(EXISTS ${PROJECT_CMAKE}/CLuceneConfig.cmake)
  24. SET(TRIAL_LIBRARY_PATHS
  25. $ENV{CLUCENE_HOME}/lib${LIB_SUFFIX}
  26. ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}
  27. /usr/local/lib${LIB_SUFFIX}
  28. /opt/local/lib${LIB_SUFFIX}
  29. /usr/lib${LIB_SUFFIX}
  30. /usr/lib64
  31. /sw/lib${LIB_SUFFIX}
  32. /usr/pkg/lib${LIB_SUFFIX}
  33. )
  34. SET(TRIAL_INCLUDE_PATHS
  35. $ENV{CLUCENE_HOME}/include
  36. ${CMAKE_INSTALL_PREFIX}/include
  37. /usr/local/include
  38. /usr/include
  39. /sw/include
  40. /usr/pkg/include
  41. )
  42. FIND_LIBRARY_WITH_DEBUG(CLUCENE_LIBRARY
  43. WIN32_DEBUG_POSTFIX d
  44. NAMES clucene clucene-core
  45. PATHS ${TRIAL_LIBRARY_PATHS})
  46. IF (CLUCENE_LIBRARY)
  47. MESSAGE(STATUS "Found CLucene library: ${CLUCENE_LIBRARY}")
  48. ENDIF (CLUCENE_LIBRARY)
  49. FIND_PATH(CLUCENE_INCLUDE_DIR
  50. NAMES CLucene.h
  51. PATHS ${TRIAL_INCLUDE_PATHS})
  52. IF (CLUCENE_INCLUDE_DIR)
  53. MESSAGE(STATUS "Found CLucene include dir: ${CLUCENE_INCLUDE_DIR}")
  54. ENDIF (CLUCENE_INCLUDE_DIR)
  55. IF(WIN32)
  56. SET(TRIAL_LIBRARY_PATHS ${CLUCENE_INCLUDE_DIR})
  57. ENDIF(WIN32)
  58. SET(CLUCENE_GOOD_VERSION TRUE)
  59. FIND_PATH(CLUCENE_LIBRARY_DIR
  60. NAMES CLucene/clucene-config.h PATHS ${TRIAL_LIBRARY_PATHS} ${TRIAL_INCLUDE_PATHS} NO_DEFAULT_PATH)
  61. IF (CLUCENE_LIBRARY_DIR)
  62. MESSAGE(STATUS "Found CLucene library dir: ${CLUCENE_LIBRARY_DIR}")
  63. FILE(READ ${CLUCENE_LIBRARY_DIR}/CLucene/clucene-config.h CLCONTENT)
  64. STRING(REGEX MATCH "_CL_VERSION +\".*\"" CLMATCH ${CLCONTENT})
  65. IF (CLMATCH)
  66. STRING(REGEX REPLACE "_CL_VERSION +\"(.*)\"" "\\1" CLUCENE_VERSION ${CLMATCH})
  67. IF (CLUCENE_VERSION STRLESS "${CLUCENE_MIN_VERSION}")
  68. MESSAGE(ERROR " CLucene version ${CLUCENE_VERSION} is less than the required minimum ${CLUCENE_MIN_VERSION}")
  69. SET(CLUCENE_GOOD_VERSION FALSE)
  70. ENDIF (CLUCENE_VERSION STRLESS "${CLUCENE_MIN_VERSION}")
  71. IF (CLUCENE_VERSION STREQUAL "0.9.17")
  72. MESSAGE(ERROR "CLucene version 0.9.17 is not supported.")
  73. SET(CLUCENE_GOOD_VERSION FALSE)
  74. ENDIF (CLUCENE_VERSION STREQUAL "0.9.17")
  75. ENDIF (CLMATCH)
  76. ELSE (CLUCENE_LIBRARY_DIR)
  77. MESSAGE(STATUS "CLucene library dir not found.")
  78. ENDIF (CLUCENE_LIBRARY_DIR)
  79. IF(CLUCENE_INCLUDE_DIR AND CLUCENE_LIBRARY AND CLUCENE_LIBRARY_DIR AND CLUCENE_GOOD_VERSION)
  80. SET(CLucene_FOUND TRUE)
  81. ENDIF(CLUCENE_INCLUDE_DIR AND CLUCENE_LIBRARY AND CLUCENE_LIBRARY_DIR AND CLUCENE_GOOD_VERSION)
  82. IF(CLucene_FOUND)
  83. IF(NOT CLucene_FIND_QUIETLY)
  84. MESSAGE(STATUS "Found CLucene: ${CLUCENE_LIBRARY}")
  85. ENDIF(NOT CLucene_FIND_QUIETLY)
  86. ELSE(CLucene_FOUND)
  87. IF(CLucene_FIND_REQUIRED)
  88. MESSAGE(FATAL_ERROR "Could not find CLucene.")
  89. ENDIF(CLucene_FIND_REQUIRED)
  90. ENDIF(CLucene_FOUND)
  91. MARK_AS_ADVANCED(
  92. CLUCENE_INCLUDE_DIR
  93. CLUCENE_LIBRARY_DIR
  94. CLUCENE_LIBRARY
  95. )