[cmake-commits] alex committed FindRuby.cmake 1.5 1.6
cmake-commits at cmake.org
cmake-commits at cmake.org
Wed Oct 4 15:54:28 EDT 2006
Update of /cvsroot/CMake/CMake/Modules
In directory public:/mounts/ram/cvs-serv26077
Modified Files:
FindRuby.cmake
Log Message:
ENH: apply patch so that the config values from ruby are used to determine
the additional locations (see #3297)
Alex
Index: FindRuby.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/FindRuby.cmake,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- FindRuby.cmake 15 Dec 2005 19:17:42 -0000 1.5
+++ FindRuby.cmake 4 Oct 2006 19:54:25 -0000 1.6
@@ -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
More information about the Cmake-commits
mailing list