10

CMake を使用してビルドされた C プロジェクトの自動バインディングを生成するにはどうすればよいですか?

Python、Java、.NET、PHP、Perl、TCL、Ruby、および Octave のバインディングを自動的に生成したいと考えています。

4

1 に答える 1

12

ここで例を見つけることができます。

スニペット:

次の例は、SWIG インターフェイス ファイル example.i の Python ラッパーを作成するための CMake 入力ファイルです。

# This is a CMake example for Python

FIND_PACKAGE(SWIG REQUIRED)
INCLUDE(${SWIG_USE_FILE})

FIND_PACKAGE(PythonLibs)
INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH})

INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})

SET(CMAKE_SWIG_FLAGS "")

SET_SOURCE_FILES_PROPERTIES(example.i PROPERTIES CPLUSPLUS ON)
SET_SOURCE_FILES_PROPERTIES(example.i PROPERTIES SWIG_FLAGS "-includeall")
SWIG_ADD_MODULE(example python example.i example.cxx)
SWIG_LINK_LIBRARIES(example ${PYTHON_LIBRARIES})
于 2009-11-03T21:20:04.620 に答える