Skip to content

Commit

Permalink
Better way to find exe path
Browse files Browse the repository at this point in the history
  • Loading branch information
SoftFever committed Oct 8, 2024
1 parent 2cc44fe commit eb195da
Showing 1 changed file with 12 additions and 3 deletions.
15 changes: 12 additions & 3 deletions src/slic3r/GUI/GUI_App.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1908,9 +1908,18 @@ void GUI_App::init_app_config()
// Mac : "~/Library/Application Support/Slic3r"

if (data_dir().empty()) {
// Orca: check if data_dir folder exists in application folder
// use it if it exists
boost::filesystem::path app_data_dir_path = boost::filesystem::current_path() / "data_dir";
// Orca: check if data_dir folder exists in application folder use it if it exists
// Note:wxStandardPaths::Get().GetExecutablePath() return following paths
// Unix: /usr/local/bin/exename
// Windows: "C:\Programs\AppFolder\exename.exe"
// Mac: /Applications/exename.app/Contents/MacOS/exename
// TODO: have no idea what to do with Linux bundles
auto _app_folder = boost::filesystem::path(wxStandardPaths::Get().GetExecutablePath().ToUTF8().data()).parent_path();
#ifdef __APPLE__
// On macOS, the executable is inside the .app bundle.
_app_folder = _app_folder.parent_path().parent_path().parent_path();
#endif
boost::filesystem::path app_data_dir_path = _app_folder / "data_dir";
if (boost::filesystem::exists(app_data_dir_path)) {
set_data_dir(app_data_dir_path.string());
}
Expand Down

0 comments on commit eb195da

Please sign in to comment.