2
# This module looks for clucene (http://clucene.sf.net) support
3
# It will define the following values
5
# CLUCENE_INCLUDE_DIR = where CLucene/StdHeader.h can be found
6
# CLUCENE_LIBRARY_DIR = where CLucene/clucene-config.h can be found
7
# CLUCENE_LIBRARY = the library to link against CLucene
8
# CLUCENE_VERSION = The CLucene version string
9
# CLucene_FOUND = set to 1 if clucene is found
12
INCLUDE(CheckSymbolExists)
13
INCLUDE(FindLibraryWithDebug)
15
if(NOT CLUCENE_MIN_VERSION)
16
set(CLUCENE_MIN_VERSION "0.9.19")
17
endif(NOT CLUCENE_MIN_VERSION)
19
IF(EXISTS ${PROJECT_CMAKE}/CLuceneConfig.cmake)
20
INCLUDE(${PROJECT_CMAKE}/CLuceneConfig.cmake)
21
ENDIF(EXISTS ${PROJECT_CMAKE}/CLuceneConfig.cmake)
23
SET(TRIAL_LIBRARY_PATHS
24
$ENV{CLUCENE_HOME}/lib${LIB_SUFFIX}
25
${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}
26
/usr/local/lib${LIB_SUFFIX}
27
/opt/local/lib${LIB_SUFFIX}
30
/usr/pkg/lib${LIB_SUFFIX}
32
SET(TRIAL_INCLUDE_PATHS
33
$ENV{CLUCENE_HOME}/include
34
${CMAKE_INSTALL_PREFIX}/include
40
FIND_LIBRARY_WITH_DEBUG(CLUCENE_LIBRARY
42
NAMES clucene clucene-core
43
PATHS ${TRIAL_LIBRARY_PATHS})
45
MESSAGE(STATUS "Found CLucene library: ${CLUCENE_LIBRARY}")
46
ENDIF (CLUCENE_LIBRARY)
47
FIND_PATH(CLUCENE_INCLUDE_DIR
49
PATHS ${TRIAL_INCLUDE_PATHS})
51
IF (CLUCENE_INCLUDE_DIR)
52
MESSAGE(STATUS "Found CLucene include dir: ${CLUCENE_INCLUDE_DIR}")
53
ENDIF (CLUCENE_INCLUDE_DIR)
56
SET(TRIAL_LIBRARY_PATHS ${CLUCENE_INCLUDE_DIR})
59
SET(CLUCENE_GOOD_VERSION TRUE)
61
FIND_PATH(CLUCENE_LIBRARY_DIR
62
NAMES CLucene/clucene-config.h PATHS ${TRIAL_LIBRARY_PATHS} ${TRIAL_INCLUDE_PATHS} NO_DEFAULT_PATH)
63
IF (CLUCENE_LIBRARY_DIR)
64
MESSAGE(STATUS "Found CLucene library dir: ${CLUCENE_LIBRARY_DIR}")
65
FILE(READ ${CLUCENE_LIBRARY_DIR}/CLucene/clucene-config.h CLCONTENT)
66
STRING(REGEX MATCH "_CL_VERSION +\".*\"" CLMATCH ${CLCONTENT})
68
STRING(REGEX REPLACE "_CL_VERSION +\"(.*)\"" "\\1" CLUCENE_VERSION ${CLMATCH})
69
IF (CLUCENE_VERSION STRLESS "${CLUCENE_MIN_VERSION}")
70
MESSAGE(ERROR " CLucene version ${CLUCENE_VERSION} is less than the required minimum ${CLUCENE_MIN_VERSION}")
71
SET(CLUCENE_GOOD_VERSION FALSE)
72
ENDIF (CLUCENE_VERSION STRLESS "${CLUCENE_MIN_VERSION}")
73
IF (CLUCENE_VERSION STREQUAL "0.9.17")
74
MESSAGE(ERROR "CLucene version 0.9.17 is not supported.")
75
SET(CLUCENE_GOOD_VERSION FALSE)
76
ENDIF (CLUCENE_VERSION STREQUAL "0.9.17")
78
ELSE (CLUCENE_LIBRARY_DIR)
79
MESSAGE(STATUS "CLucene library dir not found.")
80
ENDIF (CLUCENE_LIBRARY_DIR)
82
IF(CLUCENE_INCLUDE_DIR AND CLUCENE_LIBRARY AND CLUCENE_LIBRARY_DIR AND CLUCENE_GOOD_VERSION)
83
SET(CLucene_FOUND TRUE)
84
ENDIF(CLUCENE_INCLUDE_DIR AND CLUCENE_LIBRARY AND CLUCENE_LIBRARY_DIR AND CLUCENE_GOOD_VERSION)
87
IF(NOT CLucene_FIND_QUIETLY)
88
MESSAGE(STATUS "Found CLucene: ${CLUCENE_LIBRARY}")
89
ENDIF(NOT CLucene_FIND_QUIETLY)
91
IF(CLucene_FIND_REQUIRED)
92
MESSAGE(FATAL_ERROR "Could not find CLucene.")
93
ENDIF(CLucene_FIND_REQUIRED)