Build system support for numpy on ms-windows

This commit is contained in:
Campbell Barton 2014-03-05 00:20:11 +11:00
parent 6ebbcbd5df
commit c436c78de1
3 changed files with 31 additions and 1 deletions

View File

@ -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))

View File

@ -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)

View File

@ -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()