forked from bartvdbraak/blender
Fix for Python executable not being found on Linux
Python name could include ABI-flags after the version, since checking for all combinations of ABI flags can expand into many possibilities, take the executable name from the build system.
This commit is contained in:
parent
3d24e57ce8
commit
aa8fc57f1e
@ -412,6 +412,13 @@ if(WITH_PYTHON)
|
||||
if(WITH_PYTHON_SECURITY)
|
||||
add_definitions(-DWITH_PYTHON_SECURITY)
|
||||
endif()
|
||||
|
||||
|
||||
if (PYTHON_EXECUTABLE)
|
||||
get_filename_component(_python_exe_name ${PYTHON_EXECUTABLE} NAME)
|
||||
add_definitions(-DPYTHON_EXECUTABLE_NAME=${_python_exe_name})
|
||||
unset(_python_exe_name)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(WITH_MOD_FLUID)
|
||||
|
@ -597,10 +597,20 @@ bool BKE_appdir_program_python_search(
|
||||
char *fullpath, const size_t fullpath_len,
|
||||
const int version_major, const int version_minor)
|
||||
{
|
||||
#ifdef PYTHON_EXECUTABLE_NAME
|
||||
/* passed in from the build-systems 'PYTHON_EXECUTABLE' */
|
||||
const char *python_build_def = STRINGIFY(PYTHON_EXECUTABLE_NAME);
|
||||
#endif
|
||||
const char *basename = "python";
|
||||
char python_ver[16];
|
||||
/* check both possible names */
|
||||
const char *python_names[] = {python_ver, basename};
|
||||
const char *python_names[] = {
|
||||
#ifdef PYTHON_EXECUTABLE_NAME
|
||||
python_build_def,
|
||||
#endif
|
||||
python_ver,
|
||||
basename,
|
||||
};
|
||||
int i;
|
||||
|
||||
bool is_found = false;
|
||||
|
Loading…
Reference in New Issue
Block a user