X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=bindings%2FCMakeLists.txt;h=3f25225fc4c735a4b1a3e922adbbcd0c9d8049bc;hp=79000740fff8fa110dcc40c328f29f08ac17425e;hb=42ece7602ea66377ef2727ab45286c5cb7e9ed52;hpb=14c42c4fb594725518f84ee466fb0ebe739fd5d4 diff --git a/bindings/CMakeLists.txt b/bindings/CMakeLists.txt index 7900074..3f25225 100644 --- a/bindings/CMakeLists.txt +++ b/bindings/CMakeLists.txt @@ -1,21 +1,28 @@ include(FindSWIG) include(FindPythonLibs) +include(FindPythonInterp) include(UseSWIG) -if(SWIG_FOUND) -if(PYTHONLIBS_FOUND) - INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../src) +option(PYTHON_BINDINGS "Build python bindings via swig" ON) + +if(PYTHON_BINDINGS AND SWIG_FOUND AND PYTHONLIBS_FOUND AND PYTHONINTERP_FOUND) + INCLUDE_DIRECTORIES(BEFORE ${CMAKE_SOURCE_DIR}/src) INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH}) + LINK_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}/../src) SWIG_ADD_MODULE(ftdi python ftdi.i) - SWIG_LINK_LIBRARIES(ftdi ${PYTHON_LIBRARIES}) + SWIG_LINK_LIBRARIES(ftdi ftdi1 ${PYTHON_LIBRARIES}) + + execute_process ( COMMAND ${PYTHON_EXECUTABLE} -c "import sys; print '%d.%d' % ( sys.version_info[0], sys.version_info[1] )" + OUTPUT_VARIABLE PYTHON_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE ) - GET_FILENAME_COMPONENT(PYTHON_LIB_INSTALL ${PYTHON_LIBRARY} PATH) - GET_FILENAME_COMPONENT(SITEPACKAGE ${PYTHON_LIB_INSTALL}/../site-packages ABSOLUTE) + set ( SITEPACKAGE lib${LIB_SUFFIX}/python${PYTHON_VERSION}/site-packages ) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/_ftdi.so DESTINATION ${SITEPACKAGE}) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/ftdi.py DESTINATION ${SITEPACKAGE}) - message(STATUS "Building python bindings via swig. Will be installed under ${SITEPACKAGE}") -endif(PYTHONLIBS_FOUND) -endif(SWIG_FOUND) + message(STATUS "Building python bindings via swig. Will be installed under ${CMAKE_INSTALL_PREFIX}/${SITEPACKAGE}") +else(PYTHON_BINDINGS AND SWIG_FOUND AND PYTHONLIBS_FOUND AND PYTHONINTERP_FOUND) + message(STATUS "Not building python bindings") +endif(PYTHON_BINDINGS AND SWIG_FOUND AND PYTHONLIBS_FOUND AND PYTHONINTERP_FOUND)