From: Michel Zou Date: Tue, 11 Oct 2011 08:44:26 +0000 (+0200) Subject: Fix installaton of python wrapper X-Git-Tag: v1.0rc1~55 X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=commitdiff_plain;h=e93b34879c5abefc8aab1c4bf020a01c9b75b21f Fix installaton of python wrapper -------------------------------------------- The python wrapper installation path is not correct: -- Building python bindings via swig. Will be installed under /usr/site-packages In fact it doesn't even rely on CMAKE_INSTALL_PREFIX because of this: GET_FILENAME_COMPONENT(SITEPACKAGE ${PYTHON_LIB_INSTALL}/../site-packages ABSOLUTE) I think it should more look like this: (here with CMAKE_INSTALL_PREFIX=/home/michel/Download/libftdi-git/build/install) -- Installing: /home/michel/Download/libftdi-git/build/install/lib64/python2.7/site-packages/_ftdi.so -- Installing: /home/michel/Download/libftdi-git/build/install/lib64/python2.7/site-packages/ftdi.py -------------------------------------------- --- diff --git a/AUTHORS b/AUTHORS index 9a507fa..87260de 100644 --- a/AUTHORS +++ b/AUTHORS @@ -28,6 +28,7 @@ see Changelog for full details: Matthias Richter Matthijs ten Berge Max + Michel Zou Mike Frysinger Nathan Fraser Oleg Seiljus diff --git a/bindings/CMakeLists.txt b/bindings/CMakeLists.txt index 4d6f94d..b17d8a8 100644 --- a/bindings/CMakeLists.txt +++ b/bindings/CMakeLists.txt @@ -1,10 +1,11 @@ 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) +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) @@ -12,13 +13,16 @@ if(PYTHON_BINDINGS AND SWIG_FOUND AND PYTHONLIBS_FOUND) 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) + 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}/_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}") -else(PYTHON_BINDINGS AND SWIG_FOUND AND PYTHONLIBS_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) +endif(PYTHON_BINDINGS AND SWIG_FOUND AND PYTHONLIBS_FOUND AND PYTHONINTERP_FOUND)