痛饮生成与绑定的CMake [英] Generating SWIG bindings with CMake
本文介绍了痛饮生成与绑定的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_MODULE(例如蟒蛇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屋!
查看全文