From 3ac1ad5378cbf64f823e53cff393351764e042a8 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Wed, 15 Feb 2012 08:53:28 +0000 Subject: [PATCH] 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 /python/lib. Thanks to Campbell to making this patch cleaner :) --- source/creator/CMakeLists.txt | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index 61551f4f8c1..1b4d88a6f2e 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -398,12 +398,21 @@ if(UNIX AND NOT APPLE) 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 @@ if(UNIX AND NOT APPLE) # # 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)