libftdi Archives

Subject: Python wrapper installation path

From: ugfbjtyjty rutylnrilybvertezcrtezc <xantares09@xxxxxxxxxxx>
To: <libftdi@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 10 Oct 2011 08:14:34 +0000

Hi,

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

Here is a patch against current trunk:

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)






libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx


Attachment: libftdi-sitepackage.patch
Description: Text Data

Current Thread