-
Notifications
You must be signed in to change notification settings - Fork 795
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Cutecash: Add version check for guile and define HAVE_GUILE18 if appr…
…opriate. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18846 57a11ea4-9604-0410-9ed3-97b8803252fd
- Loading branch information
Showing
2 changed files
with
87 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
# Copyright (c) 2008, OpenCog.org (http://opencog.org) | ||
# | ||
# Redistribution and use is allowed according to the terms of the BSD license. | ||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file. | ||
|
||
# - Try to find Guile; Once done this will define | ||
# | ||
# GUILE_FOUND - system has the GUILE library | ||
# GUILE_INCLUDE_DIRS - the GUILE include directory | ||
# GUILE_LIBRARIES - The libraries needed to use GUILE | ||
|
||
|
||
|
||
# Look for the header file | ||
FIND_PATH(GUILE_INCLUDE_DIR libguile.h /usr/include /usr/local/include /usr/include/libguile /usr/local/include/libguile) | ||
|
||
# Look for the library | ||
FIND_LIBRARY(GUILE_LIBRARY NAMES guile PATH /usr/lib /usr/local/lib) | ||
|
||
# Copy the results to the output variables. | ||
IF(GUILE_INCLUDE_DIR AND GUILE_LIBRARY) | ||
SET(GUILE_FOUND 1) | ||
SET(GUILE_LIBRARIES ${GUILE_LIBRARY}) | ||
SET(GUILE_INCLUDE_DIRS ${GUILE_INCLUDE_DIR}) | ||
ELSE(GUILE_INCLUDE_DIR AND GUILE_LIBRARY) | ||
SET(GUILE_FOUND 0) | ||
SET(GUILE_LIBRARIES) | ||
SET(GUILE_INCLUDE_DIRS) | ||
ENDIF(GUILE_INCLUDE_DIR AND GUILE_LIBRARY) | ||
|
||
|
||
# check guile's version if we're using cmake >= 2.6 | ||
IF(GUILE_INCLUDE_DIR AND NOT CMAKE_MAJOR_VERSION LESS 2 AND NOT CMAKE_MINOR_VERSION LESS 6) | ||
SET(GUILE_VERSION_MAJOR 0) | ||
SET(GUILE_VERSION_MINOR 0) | ||
SET(GUILE_VERSION_PATCH 0) | ||
|
||
# Extract the libguile version from the 'version.h' file | ||
SET(GUILE_MAJOR_VERSION 0) | ||
FILE(READ "${GUILE_INCLUDE_DIR}/libguile/version.h" _GUILE_VERSION_H_CONTENTS) | ||
|
||
STRING(REGEX MATCH "#define SCM_MAJOR_VERSION[ ]+([0-9])" _MATCH "${_GUILE_VERSION_H_CONTENTS}") | ||
SET(GUILE_VERSION_MAJOR ${CMAKE_MATCH_1}) | ||
STRING(REGEX MATCH "#define SCM_MINOR_VERSION[ ]+([0-9])" _MATCH "${_GUILE_VERSION_H_CONTENTS}") | ||
SET(GUILE_VERSION_MINOR ${CMAKE_MATCH_1}) | ||
STRING(REGEX MATCH "#define SCM_MICRO_VERSION[ ]+([0-9])" _MATCH "${_GUILE_VERSION_H_CONTENTS}") | ||
SET(GUILE_VERSION_PATCH ${CMAKE_MATCH_1}) | ||
|
||
# check found version against required one | ||
IF (Guile_FIND_VERSION_MAJOR AND ${GUILE_VERSION_MAJOR} LESS Guile_FIND_VERSION_MAJOR) | ||
SET(GUILE_FOUND FALSE) | ||
ELSE (Guile_FIND_VERSION_MAJOR AND ${GUILE_VERSION_MAJOR} LESS Guile_FIND_VERSION_MAJOR) | ||
IF (Guile_FIND_VERSION_MINOR AND ${GUILE_VERSION_MINOR} LESS Guile_FIND_VERSION_MINOR) | ||
SET(GUILE_FOUND FALSE ) | ||
ELSE (Guile_FIND_VERSION_MINOR AND ${GUILE_VERSION_MINOR} LESS Guile_FIND_VERSION_MINOR) | ||
IF (Guile_FIND_VERSION_PATCH AND ${GUILE_VERSION_PATCH} LESS Guile_FIND_VERSION_PATCH) | ||
SET(GUILE_FOUND FALSE ) | ||
ENDIF (Guile_FIND_VERSION_PATCH AND ${GUILE_VERSION_PATCH} LESS Guile_FIND_VERSION_PATCH) | ||
ENDIF (Guile_FIND_VERSION_MINOR AND ${GUILE_VERSION_MINOR} LESS Guile_FIND_VERSION_MINOR) | ||
ENDIF (Guile_FIND_VERSION_MAJOR AND ${GUILE_VERSION_MAJOR} LESS Guile_FIND_VERSION_MAJOR) | ||
ENDIF(GUILE_INCLUDE_DIR AND NOT CMAKE_MAJOR_VERSION LESS 2 AND NOT CMAKE_MINOR_VERSION LESS 6) | ||
|
||
# Report the results. | ||
IF(NOT GUILE_FOUND) | ||
IF (Guile_FIND_VERSION_MAJOR) | ||
SET(_GUILE_VERSION_MESSAGE_STRING " (>=${Guile_FIND_VERSION_MAJOR}.${Guile_FIND_VERSION_MINOR}.${Guile_FIND_VERSION_PATCH})") | ||
ENDIF (Guile_FIND_VERSION_MAJOR) | ||
SET(GUILE_DIR_MESSAGE "Guile${_GUILE_VERSION_MESSAGE_STRING} was not found. Make sure GUILE_LIBRARY and GUILE_INCLUDE_DIR are set.") | ||
IF(NOT GUILE_FIND_QUIETLY) | ||
MESSAGE(STATUS "${GUILE_DIR_MESSAGE}") | ||
ELSE(NOT GUILE_FIND_QUIETLY) | ||
IF(GUILE_FIND_REQUIRED) | ||
MESSAGE(FATAL_ERROR "${GUILE_DIR_MESSAGE}") | ||
ENDIF(GUILE_FIND_REQUIRED) | ||
ENDIF(NOT GUILE_FIND_QUIETLY) | ||
ENDIF(NOT GUILE_FOUND) | ||
|
||
MARK_AS_ADVANCED(GUILE_INCLUDE_DIR GUILE_LIBRARY) |