24#include <wx/filename.h>
30#define UNIX_STRING_DIR_SEP wxT( "/" )
31#define WIN_STRING_DIR_SEP wxT( "\\" )
35#if defined( __WXMAC__ ) || defined( __WXMSW__ )
36#define KICAD_PATH_STR wxT( "KiCad" )
38#define KICAD_PATH_STR wxT( "kicad" )
51 static wxString GetUserScriptingPath();
56 static wxString GetUserTemplatesPath();
61 static wxString GetUserPluginsPath();
66 static wxString GetDefaultUserProjectsPath();
71 static wxString GetDefaultUserSymbolsPath();
76 static wxString GetDefaultUserFootprintsPath();
81 static wxString GetDefaultUserDesignBlocksPath();
86 static wxString GetDefaultUser3DModelsPath();
91 static wxString GetStockDataPath(
bool aRespectRunFromBuildDir =
true );
97 static wxString GetStockEDALibraryPath();
102 static wxString GetDefault3rdPartyPath();
107 static wxString GetStockSymbolsPath();
112 static wxString GetStockFootprintsPath();
117 static wxString GetStockDesignBlocksPath();
122 static wxString GetStock3dmodelsPath();
127 static wxString GetStockScriptingPath();
132 static wxString GetStockPluginsPath();
137 static wxString GetStockPlugins3DPath();
142 static wxString GetStockDemosPath();
147 static wxString GetStockTemplatesPath();
152 static wxString GetLocaleDataPath();
157 static wxString GetUserCachePath();
162 static wxString GetDocumentationPath();
167 static wxString GetInstanceCheckerPath();
172 static wxString GetLogsPath();
177 static bool EnsurePathExists(
const wxString& aPath,
bool aPathToFile =
false );
182 static void EnsureUserPathsExist();
190 static wxString GetOSXKicadUserDataDir();
195 static wxString GetOSXKicadMachineDataDir();
200 static wxString GetOSXKicadDataDir();
207 static wxString GetWindowsFontConfigDir();
213 static wxString GetWindowsBaseSharePath();
225 static wxString GetUserSettingsPath();
241 static wxString CalculateUserSettingsPath(
bool aIncludeVer =
true,
bool aUseEnv =
true );
243 static const wxString& GetExecutablePath();
253 static void getUserDocumentPath( wxFileName& aPath );
261 static wxString getWindowsKiCadRoot();
Helper class to centralize the paths used throughout kicad.