diff --git a/bindings/ruby/CMakeLists.txt b/bindings/ruby/CMakeLists.txt index 5b07584dee..95f21f359e 100644 --- a/bindings/ruby/CMakeLists.txt +++ b/bindings/ruby/CMakeLists.txt @@ -3,6 +3,35 @@ vexillographer_compile(TARGET ruby_options LANG ruby OUT ${CMAKE_CURRENT_SOURCE_DIR}/lib/fdboptions.rb ALL) configure_file(fdb.gemspec.cmake fdb.gemspec) +configure_file(${CMAKE_SOURCE_DIR}/LICENSE ${CMAKE_CURRENT_BINARY_DIR}/LICENSE COPYONLY) + +set(SRCS + lib/fdb.rb + lib/fdbdirectory.rb + lib/fdbimpl.rb + lib/fdbimpl_v609.rb + lib/fdblocality.rb + lib/fdboptions.rb + lib/fdbsubspace.rb + lib/fdbtuple.rb) + +set(out_files "") +foreach(src ${SRCS}) + get_filename_component(dirname ${src} DIRECTORY) + get_filename_component(extname ${src} EXT) + if(NOT EXISTS ${dirname}) + file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/bindings/ruby/${dirname}) + endif() + set(from_path ${CMAKE_CURRENT_SOURCE_DIR}/${src}) + set(to_path ${CMAKE_CURRENT_BINARY_DIR}/${src}) + add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/bindings/ruby/${src} + COMMAND ${CMAKE_COMMAND} -E copy ${from_path} ${to_path} + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${src} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + COMMENT "copy ${src}") + set(out_files "${out_files};${PROJECT_BINARY_DIR}/bindings/ruby/${src}") +endforeach() +add_custom_target(ruby_binding ALL DEPENDS ${out_files}) if(NOT FDB_RELEASE) set(not_fdb_release_string "SNAPSHOT") @@ -19,4 +48,5 @@ add_custom_command(OUTPUT ${gem_target} COMMENT "Building ruby gem") add_custom_target(gem_package DEPENDS ${gem_target}) add_dependencies(gem_package ruby_options) +add_dependencies(gem_package ruby_binding) add_dependencies(packages gem_package) diff --git a/bindings/ruby/fdb.gemspec.cmake b/bindings/ruby/fdb.gemspec.cmake index d73b8bac9b..0049a97330 100644 --- a/bindings/ruby/fdb.gemspec.cmake +++ b/bindings/ruby/fdb.gemspec.cmake @@ -13,7 +13,7 @@ https://apple.github.io/foundationdb/api-ruby.html. EOF s.authors = ["FoundationDB"] s.email = 'fdb-dist@apple.com' - s.files = ["${CMAKE_SOURCE_DIR}/LICENSE", "${CMAKE_CURRENT_SOURCE_DIR}/lib/fdb.rb", "${CMAKE_CURRENT_SOURCE_DIR}/lib/fdbdirectory.rb", "${CMAKE_CURRENT_SOURCE_DIR}/lib/fdbimpl.rb", "${CMAKE_CURRENT_SOURCE_DIR}/lib/fdblocality.rb", "${CMAKE_CURRENT_SOURCE_DIR}/lib/fdboptions.rb", "${CMAKE_CURRENT_SOURCE_DIR}/lib/fdbsubspace.rb", "${CMAKE_CURRENT_SOURCE_DIR}/lib/fdbtuple.rb", "${CMAKE_CURRENT_SOURCE_DIR}/lib/fdbimpl_v609.rb"] + s.files = ["LICENSE", "lib/fdb.rb", "lib/fdbdirectory.rb", "lib/fdbimpl.rb", "lib/fdblocality.rb", "lib/fdboptions.rb", "lib/fdbsubspace.rb", "lib/fdbtuple.rb", "lib/fdbimpl_v609.rb"] s.homepage = 'https://www.foundationdb.org' s.license = 'Apache-2.0' s.add_dependency('ffi', '~> 1.1', '>= 1.1.5')