summaryrefslogtreecommitdiffstats
path: root/amarok/src/mediadevice/daap/ConfigureChecks.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'amarok/src/mediadevice/daap/ConfigureChecks.cmake')
-rw-r--r--amarok/src/mediadevice/daap/ConfigureChecks.cmake131
1 files changed, 85 insertions, 46 deletions
diff --git a/amarok/src/mediadevice/daap/ConfigureChecks.cmake b/amarok/src/mediadevice/daap/ConfigureChecks.cmake
index 43cf95b1..1628696c 100644
--- a/amarok/src/mediadevice/daap/ConfigureChecks.cmake
+++ b/amarok/src/mediadevice/daap/ConfigureChecks.cmake
@@ -9,74 +9,113 @@
#
#################################################
-find_program( RUBY_EXECUTABLE "ruby" )
-if( NOT RUBY_EXECUTABLE )
- tde_message_fatal( "ruby is required, but was not found on your system" )
-endif( )
+
+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} -rrbconfig -e "puts Config.expand( Config::MAKEFILE_CONFIG['MAJOR'] )"
+ COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(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'] )"
+ COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(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} -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} -rrbconfig -e "puts Config.expand( Config::MAKEFILE_CONFIG['rubyhdrdir'] )"
+ COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(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
+ 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( _result )
- tde_message_fatal( "Unable to run ${RUBY_EXECUTABLE}!\n RUBY is correctly installed?" )
+
+ 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( )
-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?" )
+ 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 "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}")
+ 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 " You have an older version of Ruby! (<1.9)")
+ message( STATUS " ruby version << 1.9" )
set ( HAVE_OLD_RUBY 1 CACHE INTERNAL "" )
endif( )