diff options
Diffstat (limited to 'cpp/bindings/qpid/ruby/CMakeLists.txt')
-rw-r--r-- | cpp/bindings/qpid/ruby/CMakeLists.txt | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/cpp/bindings/qpid/ruby/CMakeLists.txt b/cpp/bindings/qpid/ruby/CMakeLists.txt index 96c00154ba..25258cfc6a 100644 --- a/cpp/bindings/qpid/ruby/CMakeLists.txt +++ b/cpp/bindings/qpid/ruby/CMakeLists.txt @@ -17,6 +17,15 @@ # under the License. # +##-------------------------------------------------- +## Properties used for generating the Ruby bindings. +##-------------------------------------------------- +set(GEM_BINDINGS_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/ext/cqpid) +set(GEM_BINDINGS_SOURCE_FILE ${GEM_BINDINGS_SOURCE_DIR}/cqpid.cpp) +set(GEM_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}) +set(GEM_OUTPUT_FILE ${GEM_OUTPUT_PATH}/pkg/qpid-${qpidc_version}.0.gem) + + ##------------------------------------------------------ ## Use Swig to generate a literal binding to the C++ API ##------------------------------------------------------ @@ -36,3 +45,19 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libcqpid.so DESTINATION ${RUBY_SITEARCH_DIR} COMPONENT ${QPID_COMPONENT_CLIENT} ) + +add_custom_command(OUTPUT ${GEM_BINDINGS_SOURCE_FILE} + COMMAND cp ${swig_generated_file_fullname} ${GEM_BINDINGS_SOURCE_FILE} + DEPENDS ${swig_generated_file_fullname} + ) + +add_custom_command(OUTPUT ${GEM_OUTPUT_FILE} + COMMAND OUTPUT_DIR=${GEM_OUTPUT_PATH} rake clean clobber package + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + DEPENDS ${swig_generated_file_fullname} ${GEM_BINDINGS_SOURCE_FILE} + ) + +add_custom_target(gemfile + DEPENDS ${GEM_OUTPUT_FILE} + ) + |