誰でもSWake経由でRubyバインディングを作成するのにCMakeを使用していましたか?私は、私のCMakeファイルでSWIG経由でPythonバインディングを作成するための実例を持っていますが、Rubyバインディングを作成するために同じアプローチを使用すると、実際のRubyファイルは作成されません。作業中のPythonバインディングでは、Pythonファイルが作成されます。RubyとSWIG with CMake
ここに私のCMakeLists.txtファイルの関連部分です:
if (${SWIG_FOUND})
find_package(Ruby REQUIRED)
include_directories(
${RUBY_INCLUDE_DIRS}
)
include (${SWIG_USE_FILE})
set (CMAKE_SWIG_FLAGS "") # set the global SWIG flags to empty
set_source_files_properties (TESTSWIG.i PROPERTIES CPLUSPLUS ON) # TESTSWIG.i is c++
SWIG_ADD_MODULE (test-ruby ruby TESTSWIG.i src/Test.cpp)
SWIG_LINK_LIBRARIES (test-ruby test ${RUBY_LIBRARY})
set(swig_SOURCES
${CMAKE_CURRENT_BINARY_DIR}/libtest-ruby.so
)
install(FILES ${swig_SOURCES}
DESTINATION lib/ruby
)
endif(${SWIG_FOUND})
は誰でも運CMakeのを使ってSWIGを経由してのRubyバインディングを作成していました!
ありがとう@duncan。このアプローチは私のために働いた。また、SWIGマクロでもSET_TARGET_PROPERTIESアプローチを使用してみます。 – Bryan
Ruby 1.9は、これが欠けていると私に警告します。私はそれを 'ruby -r rbconfig -e 'に調整しますprint RbConfig :: CONFIG [' vendorarchdir ']" ' – Sqeaky