diff options
author | Darryl L. Pierce <mcpierce@apache.org> | 2013-04-25 17:40:22 +0000 |
---|---|---|
committer | Darryl L. Pierce <mcpierce@apache.org> | 2013-04-25 17:40:22 +0000 |
commit | 2dd24b5d15f2382f3d65bfb1d684984b338cbf1c (patch) | |
tree | eaeb1196f3062dffe063f68c230233479e1950fc | |
parent | e10f718c39056853c7d09cb5a6cd3de64485d4a6 (diff) | |
download | qpid-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.txt | 15 | ||||
-rw-r--r-- | qpid/cpp/bindings/qmf/ruby/CMakeLists.txt | 14 | ||||
-rw-r--r-- | qpid/cpp/bindings/qmf2/ruby/CMakeLists.txt | 14 | ||||
-rw-r--r-- | qpid/cpp/bindings/qpid/ruby/CMakeLists.txt | 14 |
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} |