2009-09-30 124 views
7

如何爲使用CMake構建的C項目生成自動綁定?使用CMake生成SWIG綁定

我想自動爲Python,Java,.NET,PHP,Perl,TCL,Ruby和Octave生成綁定。

+0

這SO問題是有些相關, http://stackoverflow.com/questions/1515374/using-swig-with-a-build-system – slm 2011-11-19 02:43:14

回答

9

你可以找到一個例子here

段:

下面的例子是用於創建用於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})