diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-06-10 11:39:57 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-06-10 11:41:06 +0300 |
commit | 73a104b8e86c45912ad99ea349c296e502811584 (patch) | |
tree | de42af8111d86b42c7da4dacdcb194288b041bae | |
parent | 9f911f62dcefd3ce4312bb8aa1d522cae6bbf6e9 (diff) |
Fix T44968: Python executable crashes due to missing .DLL
For now we work this around by copying python DLL to the
bin folder. Ideally the DLL should be shared between blender
and python, but that's a bit tricky to do on windows.
-rw-r--r-- | SConstruct | 9 | ||||
-rw-r--r-- | source/creator/CMakeLists.txt | 13 |
2 files changed, 22 insertions, 0 deletions
diff --git a/SConstruct b/SConstruct index d05e6899a61..573d4c1934f 100644 --- a/SConstruct +++ b/SConstruct @@ -1300,6 +1300,15 @@ if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'win64-vc', 'linuxcross'): windlls = env.Install(dir=env['BF_INSTALLDIR'], source = dllsources) allinstall += windlls + # TODO(sergey): For unti we've got better way to deal with python binary + if env['WITH_BF_PYTHON']: + py_target = os.path.join(env['BF_INSTALLDIR'], VERSION, 'python', 'bin') + if env['BF_DEBUG']: + allinstall += env.Install(dir=py_target, source = ['${BF_PYTHON_LIBPATH}/${BF_PYTHON_DLL}_d.dll']) + else: + allinstall += env.Install(dir=py_target, source = ['${BF_PYTHON_LIBPATH}/${BF_PYTHON_DLL}.dll']) + + if env['OURPLATFORM'] == 'win64-mingw': dllsources = [] diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index eb912775639..1b2dd216904 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -679,6 +679,19 @@ elseif(WIN32) install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${BLENDER_VERSION}/python/lib/site-packages/numpy DESTINATION ${BLENDER_VERSION}/python/lib/site-packages) endif() + + + # TODO(sergey): For unti we've got better way to deal with python binary + install( + FILES ${LIBDIR}/python/lib/python${_PYTHON_VERSION_NO_DOTS}.dll + DESTINATION ${BLENDER_VERSION}/python/bin + CONFIGURATIONS Release;RelWithDebInfo;MinSizeRel + ) + install( + FILES ${LIBDIR}/python/lib/python${_PYTHON_VERSION_NO_DOTS}_d.dll + DESTINATION ${BLENDER_VERSION}/python/bin + CONFIGURATIONS Debug + ) endif() unset(_PYTHON_VERSION_NO_DOTS) |