2009-09-30 11 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

答えて

9

hereがあります。

スニペット:

次の例では、CMakeの入力SWIGインタフェースファイルのPythonラッパーを作成するためのファイル、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}) 
関連する問題