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 回答