使用CMake生成SWIG绑定

joe*_*moe 7 c swig introspection cmake

如何为使用CMake构建的C项目生成自动绑定?

我想自动为Python,Java,.NET,PHP,Perl,TCL,Ruby和Octave生成绑定.

Tri*_*ner 9

你可以在这里找到一个例子.

片段:

以下示例是一个CMake输入文件,用于为SWIG接口文件example.i创建python包装器:

# 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})
Run Code Online (Sandbox Code Playgroud)