~ubuntu-branches/ubuntu/wily/qgis/wily

« back to all changes in this revision

Viewing changes to cmake/FindGRASS.cmake

  • Committer: Bazaar Package Importer
  • Author(s): Johan Van de Wauw
  • Date: 2010-07-11 20:23:24 UTC
  • mfrom: (3.1.4 squeeze)
  • Revision ID: james.westby@ubuntu.com-20100711202324-5ktghxa7hracohmr
Tags: 1.4.0+12730-3ubuntu1
* Merge from Debian unstable (LP: #540941).
* Fix compilation issues with QT 4.7
* Add build-depends on libqt4-webkit-dev 

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
 
4
4
MACRO (CHECK_GRASS G_PREFIX)
5
5
 
6
 
  FIND_PATH (GRASS_INCLUDE_DIR grass/gis.h ${G_PREFIX}/include)
 
6
  FIND_PATH (GRASS_INCLUDE_DIR grass/version.h ${G_PREFIX}/include)
7
7
 
 
8
  SET (GRASS_LIBRARIES_FOUND TRUE)
8
9
  SET (GRASS_LIB_NAMES gis vect dig2 dbmiclient dbmibase shape dgl rtree datetime linkm form gproj)
9
10
 
10
 
  SET (GRASS_LIBRARIES "")
11
 
 
12
11
  FOREACH (LIB ${GRASS_LIB_NAMES})
 
12
    MARK_AS_ADVANCED ( GRASS_LIBRARY_${LIB} )
 
13
 
13
14
    SET(LIB_PATH NOTFOUND)
14
 
    FIND_LIBRARY(LIB_PATH grass_${LIB} PATHS ${G_PREFIX}/lib)
 
15
    FIND_LIBRARY(LIB_PATH NAMES grass_${LIB} PATHS ${G_PREFIX}/lib NO_DEFAULT_PATH)
15
16
 
16
17
    IF (LIB_PATH)
17
 
      IF (NOT GRASS_LIBRARIES STREQUAL NOTFOUND)
18
 
        SET (GRASS_LIBRARIES ${GRASS_LIBRARIES} ${LIB_PATH})
19
 
      ENDIF (NOT GRASS_LIBRARIES STREQUAL NOTFOUND)
 
18
      SET (GRASS_LIBRARY_${LIB} ${LIB_PATH})
20
19
    ELSE (LIB_PATH)
21
 
      SET (GRASS_LIBRARIES NOTFOUND)
 
20
      SET (GRASS_LIBRARY_${LIB} NOTFOUND)
 
21
      SET (GRASS_LIBRARIES_FOUND FALSE)
22
22
    ENDIF (LIB_PATH)
23
23
 
24
24
  ENDFOREACH (LIB)
25
25
 
26
 
  IF (GRASS_INCLUDE_DIR AND GRASS_LIBRARIES)
 
26
  # LIB_PATH is only temporary variable, so hide it (is it possible to delete a variable?)
 
27
  MARK_AS_ADVANCED(LIB_PATH)
 
28
 
 
29
  IF (GRASS_INCLUDE_DIR AND GRASS_LIBRARIES_FOUND)
27
30
    SET (GRASS_FOUND TRUE)
28
31
    SET (GRASS_PREFIX ${G_PREFIX})
29
 
  ENDIF (GRASS_INCLUDE_DIR AND GRASS_LIBRARIES)
 
32
  ENDIF (GRASS_INCLUDE_DIR AND GRASS_LIBRARIES_FOUND)
30
33
    
31
 
  MARK_AS_ADVANCED (
32
 
    GRASS_INCLUDE_DIR
33
 
    GRASS_LIBRARIES
34
 
  )
 
34
  MARK_AS_ADVANCED ( GRASS_INCLUDE_DIR )
35
35
 
36
36
ENDMACRO (CHECK_GRASS)
37
37
 
39
39
# search for grass installations
40
40
 
41
41
# list of paths which to search - user's choice as first
42
 
SET (GRASS_PATHS ${GRASS_PREFIX} /usr/lib/grass c:/msys/local/grass-6.3.cvs)
 
42
SET (GRASS_PATHS ${GRASS_PREFIX} /usr/lib/grass c:/msys/local)
43
43
 
44
44
# mac-specific path
45
45
IF (APPLE)
46
 
  SET (GRASS_PATHS ${GRASS_PATHS} /Applications/GRASS.app/Contents/Resources)
 
46
  SET (GRASS_PATHS ${GRASS_PATHS}
 
47
    /Applications/GRASS-6.3.app/Contents/MacOS
 
48
    /Applications/GRASS.app/Contents/Resources
 
49
  )
47
50
ENDIF (APPLE)
48
51
 
49
52
IF (WITH_GRASS)
59
62
###################################
60
63
 
61
64
IF (GRASS_FOUND)
62
 
 
63
 
   # read grass version number and remove trailing newline
64
 
   FILE (READ ${GRASS_PREFIX}/etc/VERSIONNUMBER GRASS_VERSION)
65
 
   STRING(REPLACE "\n" "" GRASS_VERSION ${GRASS_VERSION})
 
65
   FILE(READ ${GRASS_INCLUDE_DIR}/grass/version.h VERSIONFILE)
 
66
   # We can avoid the following block using version_less version_equal and
 
67
   # version_greater. Are there compatibility problems? 
 
68
   STRING(REGEX MATCH "[0-9]+\\.[0-9]+\\.[^ ]+" GRASS_VERSION ${VERSIONFILE})
 
69
   STRING(REGEX REPLACE "^([0-9]*)\\.[0-9]*\\..*$" "\\1" GRASS_MAJOR_VERSION ${GRASS_VERSION})
 
70
   STRING(REGEX REPLACE "^[0-9]*\\.([0-9]*)\\..*$" "\\1" GRASS_MINOR_VERSION ${GRASS_VERSION})
 
71
   STRING(REGEX REPLACE "^[0-9]*\\.[0-9]*\\.(.*)$" "\\1" GRASS_MICRO_VERSION ${GRASS_VERSION})
 
72
   # Add micro version too?
 
73
   # How to numerize RC versions?
 
74
   MATH( EXPR GRASS_NUM_VERSION "${GRASS_MAJOR_VERSION}*10000 + ${GRASS_MINOR_VERSION}*100")
66
75
 
67
76
   IF (NOT GRASS_FIND_QUIETLY)
68
77
      MESSAGE(STATUS "Found GRASS: ${GRASS_PREFIX} (${GRASS_VERSION})")
69
78
   ENDIF (NOT GRASS_FIND_QUIETLY)
70
79
 
71
 
  # openpty is currently needed for GRASS shell
72
 
  INCLUDE(CheckFunctionExists)
73
 
  IF (APPLE)
74
 
  SET (CMAKE_REQUIRED_INCLUDES util.h)
75
 
  ELSE (APPLE)
76
 
  SET (CMAKE_REQUIRED_INCLUDES pty.h)
77
 
  SET (CMAKE_REQUIRED_LIBRARIES util)
78
 
  ENDIF (APPLE)
79
 
  CHECK_FUNCTION_EXISTS(openpty HAVE_OPENPTY)
80
 
 
81
 
  # add 'util' library to the dependencies
82
 
  IF (HAVE_OPENPTY AND NOT APPLE)
83
 
    FIND_LIBRARY(OPENPTY_LIBRARY NAMES util PATHS /usr/local/lib /usr/lib c:/msys/local/lib)
84
 
    SET (GRASS_LIBRARIES ${GRASS_LIBRARIES} ${OPENPTY_LIBRARY})
85
 
  ENDIF (HAVE_OPENPTY AND NOT APPLE)
86
 
 
87
80
ELSE (GRASS_FOUND)
88
81
 
89
82
   IF (WITH_GRASS)