discard the debug directories at the end of the executable path automatically in debug builds to allow running the programs without installing them
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38373 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -26,12 +26,13 @@ public:
|
|||||||
virtual wxString GetUserDataDir() const;
|
virtual wxString GetUserDataDir() const;
|
||||||
virtual wxString GetUserLocalDataDir() const;
|
virtual wxString GetUserLocalDataDir() const;
|
||||||
virtual wxString GetPluginsDir() const;
|
virtual wxString GetPluginsDir() const;
|
||||||
virtual wxString GetLocalizedResourcesDir(const wxChar *lang,
|
|
||||||
ResourceCat category) const;
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// get the path corresponding to the given standard CSIDL_XXX constant
|
// get the path corresponding to the given standard CSIDL_XXX constant
|
||||||
static wxString DoGetDirectory(int csidl);
|
static wxString DoGetDirectory(int csidl);
|
||||||
|
|
||||||
|
// return the directory of the application itself
|
||||||
|
static wxString GetAppDir();
|
||||||
};
|
};
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -242,6 +242,26 @@ wxString wxStandardPaths::DoGetDirectory(int csidl)
|
|||||||
return dir;
|
return dir;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* static */
|
||||||
|
wxString wxStandardPaths::GetAppDir()
|
||||||
|
{
|
||||||
|
wxFileName fn(wxGetFullModuleName());
|
||||||
|
|
||||||
|
// allow running the apps directly from build directory in debug builds
|
||||||
|
#ifdef __WXDEBUG__
|
||||||
|
wxString lastdir;
|
||||||
|
if ( fn.GetDirCount() )
|
||||||
|
{
|
||||||
|
lastdir = fn.GetDirs().Last();
|
||||||
|
lastdir.MakeLower();
|
||||||
|
if ( lastdir.Matches(_T("debug*")) || lastdir.Matches(_T("vc_msw*")) )
|
||||||
|
fn.RemoveLastDir();
|
||||||
|
}
|
||||||
|
#endif // __WXDEBUG__
|
||||||
|
|
||||||
|
return fn.GetPath();
|
||||||
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// public functions
|
// public functions
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -260,7 +280,7 @@ wxString wxStandardPaths::GetDataDir() const
|
|||||||
{
|
{
|
||||||
// under Windows each program is usually installed in its own directory and
|
// under Windows each program is usually installed in its own directory and
|
||||||
// so its datafiles are in the same directory as its main executable
|
// so its datafiles are in the same directory as its main executable
|
||||||
return wxFileName(wxGetFullModuleName()).GetPath();
|
return GetAppDir();
|
||||||
}
|
}
|
||||||
|
|
||||||
wxString wxStandardPaths::GetUserDataDir() const
|
wxString wxStandardPaths::GetUserDataDir() const
|
||||||
@@ -275,7 +295,9 @@ wxString wxStandardPaths::GetUserLocalDataDir() const
|
|||||||
|
|
||||||
wxString wxStandardPaths::GetPluginsDir() const
|
wxString wxStandardPaths::GetPluginsDir() const
|
||||||
{
|
{
|
||||||
return wxFileName(wxGetFullModuleName()).GetPath();
|
// there is no standard location for plugins, suppose they're in the same
|
||||||
|
// directory as the .exe
|
||||||
|
return GetAppDir();
|
||||||
}
|
}
|
||||||
|
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
|
Reference in New Issue
Block a user