You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
122 lines
4.2 KiB
122 lines
4.2 KiB
#################################################
|
|
#
|
|
# (C) 2010-2011 Serghei Amelian
|
|
# serghei (DOT) amelian (AT) gmail.com
|
|
#
|
|
# Improvements and feedback are welcome
|
|
#
|
|
# This file is released under GPL >= 2
|
|
#
|
|
#################################################
|
|
|
|
|
|
find_package( Ruby )
|
|
|
|
if( NOT RUBY_FOUND )
|
|
tde_message_fatal( "The Ruby interpreter and Its headers are required but were not found on your system" )
|
|
endif()
|
|
|
|
# In ruby 1.9.x, ruby.h is located in a different location than previous releases.
|
|
execute_process(
|
|
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(MAJOR))"
|
|
OUTPUT_VARIABLE RUBY_VERSION_MAJOR
|
|
RESULT_VARIABLE _result
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE )
|
|
|
|
execute_process(
|
|
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(MINOR))"
|
|
OUTPUT_VARIABLE RUBY_VERSION_MINOR
|
|
RESULT_VARIABLE _result
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE )
|
|
|
|
execute_process(
|
|
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(archdir))"
|
|
OUTPUT_VARIABLE RUBY_ARCH_DIR
|
|
RESULT_VARIABLE _result
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE )
|
|
|
|
execute_process(
|
|
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(sitearchdir))"
|
|
OUTPUT_VARIABLE RUBY_SITEARCH_DIR
|
|
RESULT_VARIABLE _result
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE )
|
|
|
|
execute_process(
|
|
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(sitelibdir))"
|
|
OUTPUT_VARIABLE RUBY_SITE_DIR
|
|
RESULT_VARIABLE _result
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE )
|
|
|
|
execute_process(
|
|
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(libdir))"
|
|
OUTPUT_VARIABLE RUBY_LIB_DIR
|
|
RESULT_VARIABLE _result
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE )
|
|
|
|
execute_process(
|
|
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(rubylibdir))"
|
|
OUTPUT_VARIABLE RUBY_RUBYLIB_DIR
|
|
RESULT_VARIABLE _result
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE )
|
|
|
|
execute_process(
|
|
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(LIBRUBYARG_SHARED))"
|
|
OUTPUT_VARIABLE RUBY_LDFLAGS
|
|
RESULT_VARIABLE _result
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE )
|
|
|
|
execute_process(
|
|
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.key?(%q(rubyhdrdir))"
|
|
OUTPUT_VARIABLE HAVE_RUBYHDR_DIR
|
|
RESULT_VARIABLE _result
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE )
|
|
|
|
if( HAVE_RUBYHDR_DIR )
|
|
execute_process(
|
|
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(rubyhdrdir))"
|
|
OUTPUT_VARIABLE RUBY_INCLUDE_DIR
|
|
RESULT_VARIABLE _result
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE )
|
|
|
|
execute_process(
|
|
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.key?(%q(rubyarchhdrdir))"
|
|
OUTPUT_VARIABLE HAVE_RUBYARCHHDR_DIR
|
|
RESULT_VARIABLE _result
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE )
|
|
|
|
if( HAVE_RUBYARCHHDR_DIR )
|
|
execute_process(
|
|
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(rubyarchhdrdir))"
|
|
OUTPUT_VARIABLE RUBY_ARCHINCLUDE_DIR
|
|
RESULT_VARIABLE _result
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE )
|
|
else( )
|
|
execute_process(
|
|
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(arch))"
|
|
OUTPUT_VARIABLE RUBY_ARCH
|
|
RESULT_VARIABLE _result
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE )
|
|
set( RUBY_ARCHINCLUDE_DIR "${RUBY_INCLUDE_DIR}/${RUBY_ARCH}" CACHE INTERNAL "" )
|
|
endif( )
|
|
set( RUBY_CFLAGS "-I${RUBY_INCLUDE_DIR} -I${RUBY_ARCHINCLUDE_DIR}" CACHE INTERNAL "" )
|
|
else( )
|
|
set( RUBY_INCLUDE_DIR ${RUBY_ARCH_DIR} CACHE INTERNAL "" )
|
|
set( RUBY_CFLAGS "-I${RUBY_INCLUDE_DIR}" CACHE INTERNAL "" )
|
|
endif( )
|
|
|
|
if( RUBY_INCLUDE_DIR AND RUBY_LDFLAGS )
|
|
message( STATUS " archdir ${RUBY_ARCH_DIR}" )
|
|
message( STATUS " sitearchdir ${RUBY_SITEARCH_DIR}" )
|
|
message( STATUS " sitedir ${RUBY_SITE_DIR}" )
|
|
message( STATUS " rubylibdir ${RUBY_RUBYLIB_DIR}" )
|
|
message( STATUS " libdir ${RUBY_LIB_DIR}" )
|
|
message( STATUS " includedir ${RUBY_INCLUDE_DIR}" )
|
|
message( STATUS " librubyarg ${RUBY_LDFLAGS}" )
|
|
message( STATUS " cflags ${RUBY_CFLAGS}" )
|
|
endif( )
|
|
|
|
if ( "${RUBY_VERSION_MAJOR}${RUBY_VERSION_MINOR}" VERSION_LESS "19" )
|
|
message( STATUS " ruby version << 1.9" )
|
|
set ( HAVE_OLD_RUBY 1 CACHE INTERNAL "" )
|
|
endif( )
|