使用SWIG和构建系统

时间:2009-10-04 01:47:14

标签: interface-builder build-automation cmake swig

任何人都有使用SWIG(界面生成器)的经验吗?

我有一个C项目,我希望将其暴露给一堆其他语言/框架,如Python,Java,.NET,Perl,PHP,Ruby。

我想与我的构建系统(基于CMake)集成,但任何完成此任务的方法都可以。

1 个答案:

答案 0 :(得分:1)

CMake附带了一个用于构建SWIG包装器的模块。

您的CMakeLists.txt应包含以下内容:

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 "")

SWIG_ADD_MODULE(example python example.i example.cxx)
SWIG_LINK_LIBRARIES(example ${PYTHON_LIBRARIES})

有关详细信息,请参阅http://www.itk.org/Wiki/CMake_FAQ#How_do_I_use_CMake_to_generate_SWIG_wrapper_libraries.3F(以上示例摘自...)