[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [44118] trunk/blender/source/creator/ CMakeLists.txt: CMake: determine if python should be bundled into "lib" or "lib64" folder.

Sergey Sharybin sergey.vfx at gmail.com
Wed Feb 15 09:53:38 CET 2012


Revision: 44118
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44118
Author:   nazgul
Date:     2012-02-15 08:53:28 +0000 (Wed, 15 Feb 2012)
Log Message:
-----------
CMake: determine if python should be bundled into "lib" or "lib64" folder.

Needed to deal with OS like openSUSE where Python is installed to /usr/lib64
and don't work if it's getting bundled into <blender_version>/python/lib.

Thanks to Campbell to making this patch cleaner :)

Modified Paths:
--------------
    trunk/blender/source/creator/CMakeLists.txt

Modified: trunk/blender/source/creator/CMakeLists.txt
===================================================================
--- trunk/blender/source/creator/CMakeLists.txt	2012-02-14 18:23:58 UTC (rev 44117)
+++ trunk/blender/source/creator/CMakeLists.txt	2012-02-15 08:53:28 UTC (rev 44118)
@@ -398,12 +398,21 @@
 
 	if(WITH_PYTHON)
 		if(WITH_PYTHON_INSTALL)
+			# on some platforms (like openSUSE) Python is linked
+			# to be used from lib64 folder.
+			# determine this from Python's libraries path
+			if(${PYTHON_LIBPATH} MATCHES "lib64$")
+				set(_target_LIB "lib64")
+			else()
+				set(_target_LIB "lib")
+			endif()
+
 			# Copy the systems python into the install directory
 			# Scons copy in tools/Blender.py
 			# install(CODE "message(\"copying a subset of the systems python...\")")
 			install(
 				DIRECTORY ${PYTHON_LIBPATH}/python${PYTHON_VERSION}
-				DESTINATION ${TARGETDIR_VER}/python/lib
+				DESTINATION ${TARGETDIR_VER}/python/${_target_LIB}
 				PATTERN ".svn" EXCLUDE
 				PATTERN "__pycache__" EXCLUDE               # * any cache *
 				PATTERN "distutils" EXCLUDE                 # ./distutils
@@ -421,6 +430,7 @@
 
 			# # doesnt work, todo
 			# install(CODE "execute_process(COMMAND find ${TARGETDIR}/${BLENDER_VERSION}/python/lib/ -name '*.so' -exec strip -s {} '\;')")
+			unset(_target_LIB)
 		endif()
 	endif()
 elseif(WIN32)




More information about the Bf-blender-cvs mailing list