1
1

Cleanup: check for Python module in BKE_appdir_program_path_init

Replace the argument with an in ifdef in BKE_appdir_program_path_init.
At the time `blenkernel` didn't define WITH_PYTHON_MODULE, since it does
now there is no need for an argument. With the minor benefit of fewer
preprocessor checks in the main() function.
This commit is contained in:
2022-09-09 11:13:05 +10:00
parent fad7a30de3
commit 22b84424c7
3 changed files with 13 additions and 16 deletions

View File

@@ -105,11 +105,8 @@ void BKE_appdir_app_templates(struct ListBase *templates);
/**
* Initialize path to program executable.
*
* \param strict: When true, use `argv0` unmodified (besides making absolute & normalizing).
* Otherwise other methods may be used to find the program path, including searching `$PATH`.
*/
void BKE_appdir_program_path_init(const char *argv0, bool strict);
void BKE_appdir_program_path_init(const char *argv0);
/**
* Path to executable

View File

@@ -793,6 +793,8 @@ const char *BKE_appdir_folder_id_version(const int folder_id,
* \param fullname: The full path and full name of the executable
* (must be #FILE_MAX minimum)
* \param name: The name of the executable (usually `argv[0]`) to be checked
* \param strict: When true, use `argv0` unmodified (besides making absolute & normalizing).
* Otherwise other methods may be used to find the program path, including searching `$PATH`.
*/
static void where_am_i(char *fullname, const size_t maxlen, const char *name, const bool strict)
{
@@ -864,8 +866,16 @@ static void where_am_i(char *fullname, const size_t maxlen, const char *name, co
}
}
void BKE_appdir_program_path_init(const char *argv0, const bool strict)
void BKE_appdir_program_path_init(const char *argv0)
{
#ifdef WITH_PYTHON_MODULE
/* NOTE(@campbellbarton): Always use `argv[0]` as is, when building as a Python module.
* Otherwise other methods of detecting the binary that override this argument
* which must point to the Python module for data-files to be detected. */
const bool strict = true;
#else
const bool strict = false;
#endif
where_am_i(g_app.program_filepath, sizeof(g_app.program_filepath), argv0, strict);
BLI_split_dir_part(g_app.program_filepath, g_app.program_dirname, sizeof(g_app.program_dirname));
}

View File

@@ -396,17 +396,7 @@ int main(int argc,
#endif
/* Initialize path to executable. */
{
#ifdef WITH_PYTHON_MODULE
/* NOTE(@campbellbarton): Always use `argv[0]` as is, when building as a Python module.
* Otherwise other methods of detecting the binary that override this argument
* which must point to the Python module for data-files to be detected. */
const bool strict = true;
#else
const bool strict = false;
#endif
BKE_appdir_program_path_init(argv[0], strict);
}
BKE_appdir_program_path_init(argv[0]);
BLI_threadapi_init();