From ab9fb65b3177f79d3cf380480c3d4114d99d92fc Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Sun, 1 May 2011 20:56:33 +0000 Subject: [PATCH] Cutecash: Use pkg-config lookup of guile instead of custom macro. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@20605 57a11ea4-9604-0410-9ed3-97b8803252fd --- CMakeLists.txt | 17 ++----- src/cmake_modules/FindGuile.cmake | 78 ------------------------------- src/gnc/CMakeLists.txt | 1 + 3 files changed, 6 insertions(+), 90 deletions(-) delete mode 100644 src/cmake_modules/FindGuile.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index a7c86eacdd..97c5019c09 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -77,21 +77,14 @@ FIND_PACKAGE (SWIG REQUIRED) INCLUDE (${SWIG_USE_FILE}) # guile library and include dir -FIND_PACKAGE (Guile REQUIRED) +PKG_CHECK_MODULES (GUILE guile-1.8>=1.8.0) +ADD_DEFINITIONS (-DHAVE_GUILE18) # We also need to look up the executable FIND_PROGRAM (GUILE_EXECUTABLE guile) -# Check for guile version > 1.7, i.e. guile-1.8.x? -IF (GUILE_INCLUDE_DIR) - IF (${GUILE_VERSION_MAJOR} EQUAL 1 - AND ${GUILE_VERSION_MINOR} GREATER 7) - # Yes, define this macro - ADD_DEFINITIONS (-DHAVE_GUILE18) - ENDIF (${GUILE_VERSION_MAJOR} EQUAL 1 - AND ${GUILE_VERSION_MINOR} GREATER 7) -ELSE (GUILE_INCLUDE_DIR) - MESSAGE (SEND_ERROR "Guile was not found, but is required. Please set GUILE_LIBRARY and GUILE_INCLUDE_DIR.") -ENDIF (GUILE_INCLUDE_DIR) +IF (NOT GUILE_INCLUDE_DIRS) + MESSAGE (SEND_ERROR "Guile was not found, but is required. Please set PKG_CONFIG_PATH so that guile-1.8.pc is found.") +ENDIF (NOT GUILE_INCLUDE_DIRS) IF (NOT GUILE_EXECUTABLE) MESSAGe (SEND_ERROR "The guile executable was not found, but is required. Please set GUILE_EXECUTABLE.") ENDIF (NOT GUILE_EXECUTABLE) diff --git a/src/cmake_modules/FindGuile.cmake b/src/cmake_modules/FindGuile.cmake deleted file mode 100644 index d2ce279299..0000000000 --- a/src/cmake_modules/FindGuile.cmake +++ /dev/null @@ -1,78 +0,0 @@ -# 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) diff --git a/src/gnc/CMakeLists.txt b/src/gnc/CMakeLists.txt index 8b1036bfa9..269d190ad0 100644 --- a/src/gnc/CMakeLists.txt +++ b/src/gnc/CMakeLists.txt @@ -7,6 +7,7 @@ LINK_DIRECTORIES (${GLIB2_LIBRARY_DIRS} ${GOBJECT_LIBRARY_DIRS} ${GTHREAD_LIBRARY_DIRS} ${GCONF2_LIBRARY_DIRS} + ${GUILE_LIBRARY_DIRS} ) SET (gnc_SOURCES