diff options
author | Alexander Neundorf <neundorf@kde.org> | 2006-10-04 19:54:25 (GMT) |
---|---|---|
committer | Alexander Neundorf <neundorf@kde.org> | 2006-10-04 19:54:25 (GMT) |
commit | d54a7bfecf1bc8ecb30aee812c42f45e4da6d995 (patch) | |
tree | 1315fb68a79c091ff3c8032d2e01cdea33aae564 | |
parent | 2dfa2ba888bb3f1ea5dd5eedf84a3c5b23bdb202 (diff) | |
download | CMake-d54a7bfecf1bc8ecb30aee812c42f45e4da6d995.zip CMake-d54a7bfecf1bc8ecb30aee812c42f45e4da6d995.tar.gz CMake-d54a7bfecf1bc8ecb30aee812c42f45e4da6d995.tar.bz2 |
ENH: apply patch so that the config values from ruby are used to determine
the additional locations (see #3297)
Alex
-rw-r--r-- | Modules/FindRuby.cmake | 60 |
1 files changed, 40 insertions, 20 deletions
diff --git a/Modules/FindRuby.cmake b/Modules/FindRuby.cmake index 5052614..f4f30c2 100644 --- a/Modules/FindRuby.cmake +++ b/Modules/FindRuby.cmake @@ -1,35 +1,55 @@ -# - Find ruby -# This module finds if RUBY is installed and determines where the include files +# - Find Ruby +# This module finds if Ruby is installed and determines where the include files # and libraries are. It also determines what the name of the library is. This # code sets the following variables: # # RUBY_INCLUDE_PATH = path to where ruby.h can be found # RUBY_EXECUTABLE = full path to the ruby binary -# -SET(RUBY_POSSIBLE_INCLUDE_PATHS - /usr/lib/ruby/1.8/i386-linux - ) +# Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved. +# See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details. -SET(RUBY_POSSIBLE_LIB_PATHS - /usr/lib - ) -FIND_PATH(RUBY_INCLUDE_PATH ruby.h - ${RUBY_POSSIBLE_INCLUDE_PATHS}) +if(RUBY_LIBRARY AND RUBY_INCLUDE_PATH) + # Already in cache, be silent + set(RUBY_FIND_QUIETLY TRUE) +endif (RUBY_LIBRARY AND RUBY_INCLUDE_PATH) + +# RUBY_ARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"archdir"@:>@)'` +# RUBY_SITEARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitearchdir"@:>@)'` +# RUBY_SITEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitelibdir"@:>@)'` +# RUBY_LIBDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"libdir"@:>@)'` +# RUBY_LIBRUBYARG=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"LIBRUBYARG_SHARED"@:>@)'` + +FIND_PROGRAM(RUBY_EXECUTABLE NAMES ruby ruby1.8 ruby18 ) + +EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts Config::CONFIG['archdir']" + OUTPUT_VARIABLE RUBY_ARCH_DIR) + + +EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts Config::CONFIG['libdir']" + OUTPUT_VARIABLE RUBY_POSSIBLE_LIB_PATH) + +EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts Config::CONFIG['rubylibdir']" + OUTPUT_VARIABLE RUBY_RUBY_LIB_PATH) + +# remove the new lines from the output by replacing them with empty strings +STRING(REPLACE "\n" "" RUBY_ARCH_DIR "${RUBY_ARCH_DIR}") +STRING(REPLACE "\n" "" RUBY_POSSIBLE_LIB_PATH "${RUBY_POSSIBLE_LIB_PATH}") +STRING(REPLACE "\n" "" RUBY_RUBY_LIB_PATH "${RUBY_RUBY_LIB_PATH}") + + +FIND_PATH(RUBY_INCLUDE_PATH + NAMES ruby.h + PATHS + ${RUBY_ARCH_DIR} + /usr/lib/ruby/1.8/i586-linux-gnu/ ) FIND_LIBRARY(RUBY_LIBRARY - NAMES ruby1.8 - PATHS ${RUBY_POSSIBLE_LIB_PATHS} + NAMES ruby + PATHS ${RUBY_POSSIBLE_LIB_PATH} ) -FIND_PROGRAM(RUBY_EXECUTABLE - NAMES ruby1.8 - PATHS - /usr/bin - /usr/local/bin -) - MARK_AS_ADVANCED( RUBY_EXECUTABLE RUBY_LIBRARY |