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.
amarok/amarok/src/mediadevice/daap/ConfigureChecks.cmake

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( )