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.
83 lines
3.1 KiB
83 lines
3.1 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_program( RUBY_EXECUTABLE "ruby" )
|
|
if( NOT RUBY_EXECUTABLE )
|
|
tde_message_fatal( "ruby is required, but was 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} -rrbconfig -e "puts Config.expand( Config::MAKEFILE_CONFIG['MAJOR'] )"
|
|
OUTPUT_VARIABLE RUBY_VERSION_MAJOR
|
|
RESULT_VARIABLE _result
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE )
|
|
if( _result )
|
|
tde_message_fatal( "Unable to run ${RUBY_EXECUTABLE}!\n RUBY is correctly installed?" )
|
|
endif( )
|
|
execute_process(
|
|
COMMAND ${RUBY_EXECUTABLE} -rrbconfig -e "puts Config.expand( Config::MAKEFILE_CONFIG['MINOR'] )"
|
|
OUTPUT_VARIABLE RUBY_VERSION_MINOR
|
|
RESULT_VARIABLE _result
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE )
|
|
if( _result )
|
|
tde_message_fatal( "Unable to run ${RUBY_EXECUTABLE}!\n RUBY is correctly installed?" )
|
|
endif( )
|
|
set( RUBY_VERSION ${RUBY_VERSION_MAJOR}${RUBY_VERSION_MINOR} )
|
|
if ( "${RUBY_VERSION}" GREATER "18" )
|
|
execute_process(
|
|
COMMAND ${RUBY_EXECUTABLE} -rrbconfig -e "puts Config.expand( Config::MAKEFILE_CONFIG['rubyhdrdir'] )"
|
|
OUTPUT_VARIABLE RUBY_INCLUDE_DIR
|
|
RESULT_VARIABLE _result
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE )
|
|
if( _result )
|
|
tde_message_fatal( "Unable to run ${RUBY_EXECUTABLE}!\n RUBY is correctly installed?" )
|
|
endif( )
|
|
else( )
|
|
execute_process(
|
|
COMMAND ${RUBY_EXECUTABLE} -rrbconfig -e "puts Config.expand( Config::MAKEFILE_CONFIG['archdir'] )"
|
|
OUTPUT_VARIABLE RUBY_INCLUDE_DIR
|
|
RESULT_VARIABLE _result
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE )
|
|
if( _result )
|
|
tde_message_fatal( "Unable to run ${RUBY_EXECUTABLE}!\n RUBY is correctly installed?" )
|
|
endif( )
|
|
endif( )
|
|
execute_process(
|
|
COMMAND ${RUBY_EXECUTABLE} -rrbconfig -e "puts Config.expand( Config::MAKEFILE_CONFIG['arch'] )"
|
|
OUTPUT_VARIABLE RUBY_ARCH
|
|
RESULT_VARIABLE _result
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE )
|
|
if( _result )
|
|
tde_message_fatal( "Unable to run ${RUBY_EXECUTABLE}!\n RUBY is correctly installed?" )
|
|
endif( )
|
|
execute_process(
|
|
COMMAND ${RUBY_EXECUTABLE} -rrbconfig -e "puts Config.expand( Config::MAKEFILE_CONFIG['LIBRUBYARG_SHARED'] )"
|
|
OUTPUT_VARIABLE RUBY_LDFLAGS
|
|
RESULT_VARIABLE _result
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE )
|
|
if( _result )
|
|
tde_message_fatal( "Unable to run ${RUBY_EXECUTABLE}!\n RUBY is correctly installed?" )
|
|
endif( )
|
|
|
|
if( RUBY_INCLUDE_DIR AND RUBY_LDFLAGS )
|
|
message( STATUS "Found RUBY: ${RUBY_EXECUTABLE}" )
|
|
message( STATUS " RUBY_INCLUDE_DIR: ${RUBY_INCLUDE_DIR}" )
|
|
message( STATUS " RUBY_LDFLAGS: ${RUBY_LDFLAGS}" )
|
|
message( STATUS " RUBY_VERSION_MAJOR: ${RUBY_VERSION_MAJOR}")
|
|
message( STATUS " RUBY_VERSION_MINOR: ${RUBY_VERSION_MINOR}")
|
|
message( STATUS " RUBY_ARCH: ${RUBY_ARCH}")
|
|
endif( )
|
|
if ( "${RUBY_VERSION_MAJOR}${RUBY_VERSION_MINOR}" VERSION_LESS "19" )
|
|
message( STATUS " You have an older version of Ruby! (<1.9)")
|
|
set ( HAVE_OLD_RUBY 1 CACHE INTERNAL "" )
|
|
endif( )
|