More OSX build fixes.
* Many path related fixes. * Fix execution of external applications. * Update mac-osx.txt. * Add top-level links for standalone applications inside OSX bundle. * Fix document icons for Eeschema and pl_editor. * Create individual bundles for standalone applications inside the main application bundle. * Add usual 'site-packages' to python path in OSX bundle. * Fix name of OSX bundle plugin folder.
This commit is contained in:
committed by
Wayne Stambaugh
parent
e4eddc5649
commit
a4c59e6b97
@@ -343,3 +343,50 @@ wxString GetKicadConfigPath()
|
||||
|
||||
return cfgpath.GetPath();
|
||||
}
|
||||
|
||||
#ifdef __WXMAC__
|
||||
wxString GetOSXKicadUserDataDir()
|
||||
{
|
||||
// According to wxWidgets documentation for GetUserDataDir:
|
||||
// Mac: ~/Library/Application Support/appname
|
||||
wxFileName udir( wxStandardPaths::Get().GetUserDataDir(), wxEmptyString );
|
||||
|
||||
// Since appname is different if started via launcher or standalone binary
|
||||
// map all to "kicad" here
|
||||
udir.RemoveLastDir();
|
||||
udir.AppendDir( wxT( "kicad" ) );
|
||||
|
||||
return udir.GetPath();
|
||||
}
|
||||
|
||||
|
||||
wxString GetOSXKicadMachineDataDir()
|
||||
{
|
||||
return wxT( "/Library/Application Support/kicad" );
|
||||
}
|
||||
|
||||
|
||||
wxString GetOSXKicadDataDir()
|
||||
{
|
||||
// According to wxWidgets documentation for GetDataDir:
|
||||
// Mac: appname.app/Contents/SharedSupport bundle subdirectory
|
||||
wxFileName ddir( wxStandardPaths::Get().GetDataDir(), wxEmptyString );
|
||||
|
||||
// This must be mapped to main bundle for everything but kicad.app
|
||||
const wxArrayString dirs = ddir.GetDirs();
|
||||
if( dirs[dirs.GetCount() - 3] != wxT( "kicad.app" ) )
|
||||
{
|
||||
// Bundle structure resp. current path is
|
||||
// kicad.app/Contents/Applications/<standalone>.app/Contents/SharedSupport
|
||||
// and will be mapped to
|
||||
// kicad.app/Contents/SharedSupprt
|
||||
ddir.RemoveLastDir();
|
||||
ddir.RemoveLastDir();
|
||||
ddir.RemoveLastDir();
|
||||
ddir.RemoveLastDir();
|
||||
ddir.AppendDir( wxT( "SharedSupport" ) );
|
||||
}
|
||||
|
||||
return ddir.GetPath();
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user