2009-09-30 18 views
7

Jak wygenerować automatyczne powiązania dla projektu C zbudowanego przy użyciu CMake?Generowanie powiązań SWIG z CMake

Chcę generować wiązania dla Pythona, Java, .NET, PHP, Perl, TCL, Ruby i Octave automatycznie.

+0

to tak, pytanie jest nieco związane ze sobą, http://stackoverflow.com/questions/1515374/using-swig-with-a-build-system – slm

Odpowiedz

9

Możesz znaleźć przykład here.

Fragment:

Poniższy przykład pliku wejściowego CUpewnij tworzenia opakowania pytona do pliku interfejsu SWIG, 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})