SET(GRASS_PREFIX "/usr" CACHE PATH "Path to GRASS base directory") FIND_PATH(GRASS_INCLUDE_DIR grass/gis.h ${GRASS_PREFIX}/include) SET (GRASS_LIB_NAMES gis vect dig2 dbmiclient dbmibase shape dgl rtree datetime linkm form gproj) SET (GRASS_LIBRARIES "") FOREACH (LIB ${GRASS_LIB_NAMES}) SET(LIB_PATH NOTFOUND) FIND_LIBRARY(LIB_PATH grass_${LIB} PATHS ${GRASS_PREFIX}/lib) IF (LIB_PATH) IF (NOT GRASS_LIBRARIES STREQUAL NOTFOUND) SET (GRASS_LIBRARIES ${GRASS_LIBRARIES} ${LIB_PATH}) ENDIF (NOT GRASS_LIBRARIES STREQUAL NOTFOUND) ELSE (LIB_PATH) SET (GRASS_LIBRARIES NOTFOUND) ENDIF (LIB_PATH) ENDFOREACH (LIB) IF (GRASS_INCLUDE_DIR AND GRASS_LIBRARIES) SET(GRASS_FOUND TRUE) ENDIF (GRASS_INCLUDE_DIR AND GRASS_LIBRARIES) IF (GRASS_FOUND) IF (NOT GRASS_FIND_QUIETLY) MESSAGE(STATUS "Found GRASS: ${GRASS_PREFIX}") ENDIF (NOT GRASS_FIND_QUIETLY) # openpty is currently needed for GRASS shell INCLUDE(CheckFunctionExists) SET (CMAKE_REQUIRED_INCLUDES pty.h) SET (CMAKE_REQUIRED_LIBRARIES util) CHECK_FUNCTION_EXISTS(openpty HAVE_OPENPTY) # add 'util' library to the dependencies IF (HAVE_OPENPTY) FIND_LIBRARY(OPENPTY_LIBRARY NAMES util PATH /usr/local/lib /usr/lib) SET (GRASS_LIBRARIES ${GRASS_LIBRARIES} ${OPENPTY_LIBRARY}) ENDIF (HAVE_OPENPTY) ELSE (GRASS_FOUND) IF (GRASS_FIND_REQUIRED) MESSAGE(FATAL_ERROR "Could not find GRASS") ELSE (GRASS_FIND_REQUIRED) MESSAGE(STATUS "Could not find GRASS") ENDIF (GRASS_FIND_REQUIRED) ENDIF (GRASS_FOUND)