Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2014-03-04 17:20:11 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-03-04 17:22:51 +0400
commitc436c78de1d2f6fcac46e69c5c81ca2af5f839e5 (patch)
tree2933432fa57db2852b601c47f0f0f187b4474191
parent6ebbcbd5df45c9a5953a3f6d3c068310fea58d7a (diff)
Build system support for numpy on ms-windows
-rw-r--r--CMakeLists.txt4
-rw-r--r--build_files/scons/tools/Blender.py18
-rw-r--r--source/creator/CMakeLists.txt10
3 files changed, 31 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3e7ac95f985..46690f3a5b7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2209,7 +2209,9 @@ if(WITH_PYTHON)
"Python.h for python version \"${PYTHON_VERSION}\"")
endif()
- if(WITH_PYTHON_INSTALL AND WITH_PYTHON_INSTALL_NUMPY)
+ if(WIN32)
+ # pass, we have this in an archive to extract
+ elseif(WITH_PYTHON_INSTALL AND WITH_PYTHON_INSTALL_NUMPY)
# set but invalid
# -- disabled until we make numpy bundled with blender - campbell
if((NOT ${PYTHON_NUMPY_PATH} STREQUAL "") AND (NOT ${PYTHON_NUMPY_PATH} MATCHES NOTFOUND))
diff --git a/build_files/scons/tools/Blender.py b/build_files/scons/tools/Blender.py
index cc60b88b035..2015bb4c8a5 100644
--- a/build_files/scons/tools/Blender.py
+++ b/build_files/scons/tools/Blender.py
@@ -626,6 +626,24 @@ def WinPyBundle(target=None, source=None, env=None):
print "Unpacking '" + py_tar + "' to '" + py_target + "'"
untar_pybundle(py_tar,py_target,exclude_re)
+ # -------------
+ # Extract Numpy
+ py_tar = env.subst(env['LCGDIR'])
+ if py_tar[0] == '#':
+ py_tar = py_tar[1:]
+ py_tar += '/release/python' + env['BF_PYTHON_VERSION'].replace('.','') + '_numpy_1.8.tar.gz'
+
+ py_target = env.subst(env['BF_INSTALLDIR'])
+ if py_target[0] == '#':
+ py_target = py_target[1:]
+ py_target = os.path.join(py_target, VERSION, 'python', 'lib', 'site-packages')
+ # rmtree handled above
+ # files are cleaned up in their archive
+ exclude_re = []
+ print("Unpacking '" + py_tar + "' to '" + py_target + "'")
+ untar_pybundle(py_tar, py_target, exclude_re)
+
+
def my_appit_print(target, source, env):
a = '%s' % (target[0])
d, f = os.path.split(a)
diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt
index 4d12040df21..d765c33db70 100644
--- a/source/creator/CMakeLists.txt
+++ b/source/creator/CMakeLists.txt
@@ -576,6 +576,16 @@ elseif(WIN32)
"
)
+ if(WITH_PYTHON_INSTALL_NUMPY)
+ install(
+ CODE
+ "
+ execute_process(COMMAND \"${CMAKE_COMMAND}\" -E chdir \"${TARGETDIR_VER}/python/lib/site-packages\"
+ \"${CMAKE_COMMAND}\" -E tar xzfv \"${LIBDIR}/release/python${_PYTHON_VERSION_NO_DOTS}_numpy_1.8.tar.gz\")
+ "
+ )
+ endif()
+
# doesnt work, todo
# install(CODE "execute_process(COMMAND find ${TARGETDIR}/${BLENDER_VERSION}/python/lib/ -name '*.so' -exec strip -s {} '\;')")
endif()