痛饮生成与绑定的CMake [英] Generating SWIG bindings with CMake

查看:185
本文介绍了痛饮生成与绑定的CMake的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我怎么会生成一个使用CMake的建立一个C项目自动绑定?

我要生成的Python,Java和.NET,PHP,Perl的,TCL,Ruby和倍频自动绑定。


解决方案

您可以找到一个示例的这里

段:


  

下面的例子是对SWIG接口文件,example.i创建一个Python包装一个CMake的输入文件:

 #这是一个Python的例子的CMakeFIND_PACKAGE(SWIG必填)
包括:($ {} 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性能CPLUSPLUS ON)
SET_SOURCE_FILES_PROPERTIES(example.i性能SWIG_FLAGS-includeall)
SWIG_ADD_MO​​DULE(例如蟒蛇example.i example.cxx)
SWIG_LINK_LIBRARIES(例如$ {} PYTHON_LIBRARIES)


How would I generate automatic bindings for a C project that is built using CMake?

I want to generate bindings for Python, Java, .NET, PHP, Perl, TCL, Ruby and Octave automatically.

解决方案

You can find an example here.

Snippet:

The following example is a CMake input file for creating a python wrapper for the SWIG interface file, example.i:

# 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})

这篇关于痛饮生成与绑定的CMake的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆