diff options
-rw-r--r-- | source/blender/blenkernel/CMakeLists.txt | 7 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/appdir.c | 12 |
2 files changed, 18 insertions, 1 deletions
diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt index 7177ddc3e6d..7311f330962 100644 --- a/source/blender/blenkernel/CMakeLists.txt +++ b/source/blender/blenkernel/CMakeLists.txt @@ -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) diff --git a/source/blender/blenkernel/intern/appdir.c b/source/blender/blenkernel/intern/appdir.c index dd961eacb58..de21d9105e2 100644 --- a/source/blender/blenkernel/intern/appdir.c +++ b/source/blender/blenkernel/intern/appdir.c @@ -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; |