2009-09-30 2 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을 찾을 수 있습니다.

니펫

다음 예인 SWIG 인터페이스 파일 본보기위한 파이썬 래퍼 만들기위한 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})