X-Git-Url: http://developer.intra2net.com/git/?a=blobdiff_plain;f=bindings%2FCMakeLists.txt;h=7abf655435de6ed30d0f80dfec25bfbaea57562a;hb=1f38932a151adc247afa50708c8e5a8c65afda63;hp=5333035546fa41a959c42c9f241190099ec8ba1f;hpb=998266bf16a3f88480382070b4af670d5998a1c5;p=libftdi diff --git a/bindings/CMakeLists.txt b/bindings/CMakeLists.txt index 5333035..7abf655 100644 --- a/bindings/CMakeLists.txt +++ b/bindings/CMakeLists.txt @@ -1,24 +1,34 @@ include(FindSWIG) include(FindPythonLibs) +include(FindPythonInterp) include(UseSWIG) option(PYTHON_BINDINGS "Build python bindings via swig" ON) -if(PYTHON_BINDINGS AND SWIG_FOUND AND PYTHONLIBS_FOUND) - INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../src) +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 ftdi ${PYTHON_LIBRARIES}) - GET_FILENAME_COMPONENT(PYTHON_LIB_INSTALL ${PYTHON_LIBRARY} PATH) - GET_FILENAME_COMPONENT(SITEPACKAGE ${PYTHON_LIB_INSTALL}/../site-packages ABSOLUTE) + swig_add_module ( ftdi1 python ftdi1.i ) + swig_link_libraries ( ftdi1 ftdi1 ) - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/_ftdi.so DESTINATION ${SITEPACKAGE}) - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/ftdi.py DESTINATION ${SITEPACKAGE}) + # do not link python modules on debian + # http://www.debian.org/doc/packaging-manuals/python-policy/ch-module_packages.html + if ( NOT EXISTS "/etc/debian_version" ) + swig_link_libraries ( ftdi1 ${PYTHON_LIBRARIES} ) + endif () - message(STATUS "Building python bindings via swig. Will be installed under ${SITEPACKAGE}") -else(PYTHON_BINDINGS AND SWIG_FOUND AND PYTHONLIBS_FOUND) + 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 ) + + set ( SITEPACKAGE lib${LIB_SUFFIX}/python${PYTHON_VERSION}/site-packages ) + + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/_ftdi1.so DESTINATION ${SITEPACKAGE}) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/ftdi1.py DESTINATION ${SITEPACKAGE}) + + 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) +endif(PYTHON_BINDINGS AND SWIG_FOUND AND PYTHONLIBS_FOUND AND PYTHONINTERP_FOUND)