summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarryl L. Pierce <mcpierce@apache.org>2013-04-25 17:40:22 +0000
committerDarryl L. Pierce <mcpierce@apache.org>2013-04-25 17:40:22 +0000
commit2dd24b5d15f2382f3d65bfb1d684984b338cbf1c (patch)
treeeaeb1196f3062dffe063f68c230233479e1950fc
parente10f718c39056853c7d09cb5a6cd3de64485d4a6 (diff)
downloadqpid-python-2dd24b5d15f2382f3d65bfb1d684984b338cbf1c.tar.gz
QPID-4776: Fixes building Ruby bindings on Cmake < 2.8
This patch fixes issues regarding finding the Ruby install and building the bindings for it. Contributed by Irina Boverman <iboverma@redhat.com> git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1475868 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/cpp/bindings/CMakeLists.txt15
-rw-r--r--qpid/cpp/bindings/qmf/ruby/CMakeLists.txt14
-rw-r--r--qpid/cpp/bindings/qmf2/ruby/CMakeLists.txt14
-rw-r--r--qpid/cpp/bindings/qpid/ruby/CMakeLists.txt14
4 files changed, 52 insertions, 5 deletions
diff --git a/qpid/cpp/bindings/CMakeLists.txt b/qpid/cpp/bindings/CMakeLists.txt
index 3d44ef01cd..b5d0d66a53 100644
--- a/qpid/cpp/bindings/CMakeLists.txt
+++ b/qpid/cpp/bindings/CMakeLists.txt
@@ -24,6 +24,14 @@ include(FindRuby)
include(FindPythonLibs)
include(FindPerlLibs)
+if ((${CMAKE_MAJOR_VERSION} EQUAL 2) AND (${CMAKE_MINOR_VERSION} LESS 8))
+ if (RUBY_INCLUDE_PATH)
+ set(RUBY_FOUND "TRUE")
+ else()
+ set(RUBY_FOUND "FALSE")
+ endif (RUBY_INCLUDE_PATH)
+endif ((${CMAKE_MAJOR_VERSION} EQUAL 2) AND (${CMAKE_MINOR_VERSION} LESS 8))
+
set (SWIG_MINIMUM_VERSION "1.3.32")
if (SWIG_FOUND)
@@ -33,6 +41,7 @@ if (SWIG_FOUND)
set(CMAKE_SWIG_FLAGS "-w361,362,401,467,503")
if (PYTHONLIBS_FOUND)
+ message("Building Python bindings")
execute_process(COMMAND ${PYTHON_EXECUTABLE}
-c "from distutils.sysconfig import get_python_lib; print get_python_lib(True, prefix='${CMAKE_INSTALL_PREFIX}')"
OUTPUT_VARIABLE PYTHON_SITEARCH_PACKAGES
@@ -44,17 +53,19 @@ if (SWIG_FOUND)
endif (PYTHONLIBS_FOUND)
if (RUBY_FOUND)
+ message("Building Ruby bindings")
execute_process(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG['prefix']"
OUTPUT_VARIABLE RUBY_PREFIX
OUTPUT_STRIP_TRAILING_WHITESPACE)
- string(REPLACE ${RUBY_PREFIX} ${CMAKE_INSTALL_PREFIX} RUBY_PFX_ARCH_DIR ${RUBY_ARCH_DIR})
-
+ string(REPLACE ${RUBY_PREFIX} ${CMAKE_INSTALL_PREFIX} RUBY_PFX_ARCH_DIR ${RUBY_SITEARCH_DIR})
+# string(REPLACE ${RUBY_PREFIX} ${CMAKE_INSTALL_PREFIX} RUBY_PFX_ARCH_DIR ${RUBY_ARCH_DIR})
add_subdirectory(qpid/ruby)
add_subdirectory(qmf2/ruby)
add_subdirectory(qmf/ruby)
endif (RUBY_FOUND)
if (PERLLIBS_FOUND)
+ message("Building Perl bindings")
execute_process(COMMAND ${PERL_EXECUTABLE} "-V::prefix:"
OUTPUT_VARIABLE QPERL_PREFIX
OUTPUT_STRIP_TRAILING_WHITESPACE)
diff --git a/qpid/cpp/bindings/qmf/ruby/CMakeLists.txt b/qpid/cpp/bindings/qmf/ruby/CMakeLists.txt
index 1fb2542e46..37ce73293f 100644
--- a/qpid/cpp/bindings/qmf/ruby/CMakeLists.txt
+++ b/qpid/cpp/bindings/qmf/ruby/CMakeLists.txt
@@ -22,6 +22,10 @@
##------------------------------------------------------
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/ruby.i PROPERTIES CPLUSPLUS ON)
+if ((${CMAKE_MAJOR_VERSION} EQUAL 2) AND (${CMAKE_MINOR_VERSION} LESS 8))
+ set (RUBY_INCLUDE_DIRS ${RUBY_INCLUDE_PATH})
+endif ((${CMAKE_MAJOR_VERSION} EQUAL 2) AND (${CMAKE_MINOR_VERSION} LESS 8))
+
include_directories(${RUBY_INCLUDE_DIRS}
${qpid-cpp_SOURCE_DIR}/include
${qpid-cpp_SOURCE_DIR}/bindings)
@@ -32,8 +36,16 @@ swig_link_libraries(qmfengine_ruby qmf qmfconsole ${RUBY_LIBRARY})
##----------------------------------
## Install the complete Ruby binding
##----------------------------------
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libqmfengine_ruby.so
+if ((${CMAKE_MAJOR_VERSION} EQUAL 2) AND (${CMAKE_MINOR_VERSION} LESS 8))
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/qmfengine_ruby.so
+ RENAME qmfengine.so
+ DESTINATION ${RUBY_PFX_ARCH_DIR}
+ COMPONENT ${QPID_COMPONENT_CLIENT}
+ )
+else()
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libqmfengine_ruby.so
RENAME qmfengine.so
DESTINATION ${RUBY_PFX_ARCH_DIR}
COMPONENT ${QPID_COMPONENT_CLIENT}
)
+endif ((${CMAKE_MAJOR_VERSION} EQUAL 2) AND (${CMAKE_MINOR_VERSION} LESS 8))
diff --git a/qpid/cpp/bindings/qmf2/ruby/CMakeLists.txt b/qpid/cpp/bindings/qmf2/ruby/CMakeLists.txt
index 70b3e917f9..4ea61abbe8 100644
--- a/qpid/cpp/bindings/qmf2/ruby/CMakeLists.txt
+++ b/qpid/cpp/bindings/qmf2/ruby/CMakeLists.txt
@@ -22,6 +22,10 @@
##------------------------------------------------------
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/ruby.i PROPERTIES CPLUSPLUS ON)
+if ((${CMAKE_MAJOR_VERSION} EQUAL 2) AND (${CMAKE_MINOR_VERSION} LESS 8))
+ set (RUBY_INCLUDE_DIRS ${RUBY_INCLUDE_PATH})
+endif ((${CMAKE_MAJOR_VERSION} EQUAL 2) AND (${CMAKE_MINOR_VERSION} LESS 8))
+
include_directories(${RUBY_INCLUDE_DIRS}
${qpid-cpp_SOURCE_DIR}/include
${qpid-cpp_SOURCE_DIR}/bindings)
@@ -32,9 +36,17 @@ swig_link_libraries(cqmf2_ruby qmf2 ${RUBY_LIBRARY})
##----------------------------------
## Install the complete Ruby binding
##----------------------------------
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libcqmf2_ruby.so
+if ((${CMAKE_MAJOR_VERSION} EQUAL 2) AND (${CMAKE_MINOR_VERSION} LESS 8))
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cqmf2_ruby.so
+ RENAME cqmf2.so
+ DESTINATION ${RUBY_PFX_ARCH_DIR}
+ COMPONENT ${QPID_COMPONENT_CLIENT}
+ )
+else()
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libcqmf2_ruby.so
RENAME cqmf2.so
DESTINATION ${RUBY_PFX_ARCH_DIR}
COMPONENT ${QPID_COMPONENT_CLIENT}
)
+endif ((${CMAKE_MAJOR_VERSION} EQUAL 2) AND (${CMAKE_MINOR_VERSION} LESS 8))
diff --git a/qpid/cpp/bindings/qpid/ruby/CMakeLists.txt b/qpid/cpp/bindings/qpid/ruby/CMakeLists.txt
index 564f5655c8..a56fac7c8a 100644
--- a/qpid/cpp/bindings/qpid/ruby/CMakeLists.txt
+++ b/qpid/cpp/bindings/qpid/ruby/CMakeLists.txt
@@ -31,6 +31,10 @@ set(GEM_OUTPUT_FILE ${GEM_OUTPUT_PATH}/pkg/qpid-${qpidc_version}.0.gem)
##------------------------------------------------------
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/ruby.i PROPERTIES CPLUSPLUS ON)
+if ((${CMAKE_MAJOR_VERSION} EQUAL 2) AND (${CMAKE_MINOR_VERSION} LESS 8))
+ set (RUBY_INCLUDE_DIRS ${RUBY_INCLUDE_PATH})
+endif ((${CMAKE_MAJOR_VERSION} EQUAL 2) AND (${CMAKE_MINOR_VERSION} LESS 8))
+
include_directories(${RUBY_INCLUDE_DIRS}
${qpid-cpp_SOURCE_DIR}/include
${qpid-cpp_SOURCE_DIR}/bindings)
@@ -43,11 +47,19 @@ set_source_files_properties(${swig_generated_file_fullname} PROPERTIES COMPILE_F
##----------------------------------
## Install the complete Ruby binding
##----------------------------------
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libcqpid_ruby.so
+if ((${CMAKE_MAJOR_VERSION} EQUAL 2) AND (${CMAKE_MINOR_VERSION} LESS 8))
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cqpid_ruby.so
+ RENAME cqpid.so
+ DESTINATION ${RUBY_PFX_ARCH_DIR}
+ COMPONENT ${QPID_COMPONENT_CLIENT}
+ )
+else()
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libcqpid_ruby.so
RENAME cqpid.so
DESTINATION ${RUBY_PFX_ARCH_DIR}
COMPONENT ${QPID_COMPONENT_CLIENT}
)
+endif ((${CMAKE_MAJOR_VERSION} EQUAL 2) AND (${CMAKE_MINOR_VERSION} LESS 8))
add_custom_command(OUTPUT ${GEM_BINDINGS_SOURCE_FILE}
COMMAND cp ${swig_generated_file_fullname} ${GEM_BINDINGS_SOURCE_FILE}