[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