~xnox/sword/soname

« back to all changes in this revision

Viewing changes to cmake/FindCLucene.cmake

  • Committer: scribe
  • Date: 2010-06-25 21:19:58 UTC
  • Revision ID: svn-v4:bcd7d363-81e1-0310-97ec-a550e20fc99c:trunk:2522

        Added CMake build system, contributed by GHellings

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
 
 
8
#
 
9
# This module looks for clucene (http://clucene.sf.net) support
 
10
# It will define the following values
 
11
#
 
12
# CLUCENE_INCLUDE_DIR  = where CLucene/StdHeader.h can be found
 
13
# CLUCENE_LIBRARY_DIR  = where CLucene/clucene-config.h can be found
 
14
# CLUCENE_LIBRARY      = the library to link against CLucene
 
15
# CLUCENE_VERSION      = The CLucene version string
 
16
# CLucene_FOUND        = set to 1 if clucene is found
 
17
#
 
18
 
 
19
INCLUDE(CheckSymbolExists)
 
20
INCLUDE(FindLibraryWithDebug)
 
21
 
 
22
if(NOT CLUCENE_MIN_VERSION)
 
23
        set(CLUCENE_MIN_VERSION "0.9.19")
 
24
endif(NOT CLUCENE_MIN_VERSION)
 
25
 
 
26
IF(EXISTS ${PROJECT_CMAKE}/CLuceneConfig.cmake)
 
27
        INCLUDE(${PROJECT_CMAKE}/CLuceneConfig.cmake)
 
28
ENDIF(EXISTS ${PROJECT_CMAKE}/CLuceneConfig.cmake)
 
29
 
 
30
IF(MSVC)
 
31
        IF(CMAKE_BUILD_TYPE STREQUAL "Release")
 
32
                SET(WIN_CLUCENE_SEARCH_PATH ../clucene-core/src/CLucene/Release)
 
33
        ELSE(CMAKE_BUILD_TYPE STREQUAL "Release")
 
34
                SET(WIN_CLUCENE_SEARCH_PATH ../clucene-core/src/CLucene/debug)
 
35
        ENDIF(CMAKE_BUILD_TYPE STREQUAL "Release")
 
36
        SET(WIN_CLUCENE_INCLUDE_PATH ../clucene-core/src)
 
37
ELSE(MSVC)
 
38
        SET(WIN_CLUCENE_SEARCH_PATH "")
 
39
        SET(WIN_CLUCENE_INCLUDE_PATH "")
 
40
ENDIF(MSVC)
 
41
 
 
42
SET(TRIAL_LIBRARY_PATHS
 
43
        $ENV{CLUCENE_HOME}/lib${LIB_SUFFIX}
 
44
        ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}
 
45
        /usr/local/lib${LIB_SUFFIX}
 
46
        /opt/local/lib${LIB_SUFFIX}
 
47
        /usr/lib${LIB_SUFFIX}
 
48
        /usr/lib64
 
49
        /sw/lib${LIB_SUFFIX}
 
50
        /usr/pkg/lib${LIB_SUFFIX}
 
51
        ${WIN_CLUCENE_SEARCH_PATH}
 
52
        )
 
53
SET(TRIAL_INCLUDE_PATHS
 
54
        $ENV{CLUCENE_HOME}/include
 
55
        ${CMAKE_INSTALL_PREFIX}/include
 
56
        /usr/local/include
 
57
        /usr/include
 
58
        /sw/include
 
59
        /usr/pkg/include
 
60
        ${WIN_CLUCENE_INCLUDE_PATH}
 
61
        )
 
62
FIND_LIBRARY_WITH_DEBUG(CLUCENE_LIBRARY
 
63
        NAMES clucene clucene-core
 
64
        PATHS ${TRIAL_LIBRARY_PATHS})
 
65
IF (CLUCENE_LIBRARY)
 
66
        MESSAGE(STATUS "Found CLucene library: ${CLUCENE_LIBRARY}")
 
67
ENDIF (CLUCENE_LIBRARY)
 
68
FIND_PATH(CLUCENE_INCLUDE_DIR
 
69
        NAMES CLucene.h
 
70
        PATHS ${TRIAL_INCLUDE_PATHS}
 
71
        ONLY_CMAKE_FIND_ROOT_PATH)
 
72
 
 
73
IF (CLUCENE_INCLUDE_DIR)
 
74
        MESSAGE(STATUS "Found CLucene include dir: ${CLUCENE_INCLUDE_DIR}")
 
75
ENDIF (CLUCENE_INCLUDE_DIR)
 
76
 
 
77
IF(WIN32)
 
78
        SET(TRIAL_LIBRARY_PATHS ${CLUCENE_INCLUDE_DIR})
 
79
ENDIF(WIN32)
 
80
 
 
81
SET(CLUCENE_GOOD_VERSION TRUE)
 
82
 
 
83
FIND_PATH(CLUCENE_LIBRARY_DIR
 
84
        NAMES CLucene/clucene-config.h PATHS ${TRIAL_LIBRARY_PATHS} ${TRIAL_INCLUDE_PATHS} NO_DEFAULT_PATH)
 
85
IF (CLUCENE_LIBRARY_DIR)
 
86
        MESSAGE(STATUS "Found CLucene library dir: ${CLUCENE_LIBRARY_DIR}")
 
87
        FILE(READ ${CLUCENE_LIBRARY_DIR}/CLucene/clucene-config.h CLCONTENT)
 
88
        STRING(REGEX MATCH "_CL_VERSION +\".*\"" CLMATCH ${CLCONTENT})
 
89
        IF (CLMATCH)
 
90
                STRING(REGEX REPLACE "_CL_VERSION +\"(.*)\"" "\\1" CLUCENE_VERSION ${CLMATCH})
 
91
        IF (CLUCENE_VERSION STRLESS "${CLUCENE_MIN_VERSION}")
 
92
                MESSAGE(ERROR " CLucene version ${CLUCENE_VERSION} is less than the required minimum ${CLUCENE_MIN_VERSION}")
 
93
                        SET(CLUCENE_GOOD_VERSION FALSE)
 
94
        ENDIF (CLUCENE_VERSION STRLESS "${CLUCENE_MIN_VERSION}")
 
95
        IF (CLUCENE_VERSION STREQUAL "0.9.17")
 
96
                MESSAGE(ERROR "CLucene version 0.9.17 is not supported.")
 
97
                        SET(CLUCENE_GOOD_VERSION FALSE)
 
98
        ENDIF (CLUCENE_VERSION STREQUAL "0.9.17")
 
99
        ENDIF (CLMATCH)
 
100
ELSE (CLUCENE_LIBRARY_DIR)
 
101
        MESSAGE(STATUS "CLucene library dir not found.")
 
102
ENDIF (CLUCENE_LIBRARY_DIR)
 
103
 
 
104
IF(CLUCENE_INCLUDE_DIR AND CLUCENE_LIBRARY AND CLUCENE_LIBRARY_DIR AND CLUCENE_GOOD_VERSION)
 
105
        SET(CLucene_FOUND TRUE)
 
106
ENDIF(CLUCENE_INCLUDE_DIR AND CLUCENE_LIBRARY AND CLUCENE_LIBRARY_DIR AND CLUCENE_GOOD_VERSION)
 
107
 
 
108
IF(CLucene_FOUND)
 
109
        IF(NOT CLucene_FIND_QUIETLY)
 
110
                MESSAGE(STATUS "Found CLucene: ${CLUCENE_LIBRARY}")
 
111
        ENDIF(NOT CLucene_FIND_QUIETLY)
 
112
ELSE(CLucene_FOUND)
 
113
        IF(CLucene_FIND_REQUIRED)
 
114
                MESSAGE(FATAL_ERROR "Could not find CLucene.")
 
115
        ENDIF(CLucene_FIND_REQUIRED)
 
116
ENDIF(CLucene_FOUND)
 
117
 
 
118
MARK_AS_ADVANCED(
 
119
        CLUCENE_INCLUDE_DIR
 
120
        CLUCENE_LIBRARY_DIR
 
121
        CLUCENE_LIBRARY
 
122
        )