Use defined environment variables before falling back to DEFAULT_INSTALL_PATH.

This commit is contained in:
Mark Roszko 2015-12-09 09:41:41 -05:00 committed by Wayne Stambaugh
parent 274e88d381
commit 030c84d55d
1 changed files with 40 additions and 11 deletions

View File

@ -416,6 +416,8 @@ bool PGM_BASE::initPgm()
{ {
wxString envVarName = wxT( "KIGITHUB" ); wxString envVarName = wxT( "KIGITHUB" );
ENV_VAR_ITEM envVarItem; ENV_VAR_ITEM envVarItem;
wxString envValue;
wxFileName tmpFileName;
envVarItem.SetValue( wxString( wxT( "https://github.com/KiCad" ) ) ); envVarItem.SetValue( wxString( wxT( "https://github.com/KiCad" ) ) );
envVarItem.SetDefinedExternally( wxGetEnv( envVarName, NULL ) ); envVarItem.SetDefinedExternally( wxGetEnv( envVarName, NULL ) );
@ -429,24 +431,51 @@ bool PGM_BASE::initPgm()
baseSharePath.AppendDir( wxT( "kicad" ) ); baseSharePath.AppendDir( wxT( "kicad" ) );
#endif #endif
wxFileName tmpFileName = baseSharePath; // KISYSMOD
tmpFileName.AppendDir( wxT( "modules" ) );
envVarName = wxT( "KISYSMOD" ); envVarName = wxT( "KISYSMOD" );
envVarItem.SetValue( tmpFileName.GetPath() ); if( wxGetEnv( envVarName, &envValue ) == true && !envValue.IsEmpty() )
envVarItem.SetDefinedExternally( wxGetEnv( envVarName, NULL ) ); {
tmpFileName.AssignDir( envValue );
envVarItem.SetDefinedExternally( true );
}
else
{
tmpFileName = baseSharePath;
tmpFileName.AppendDir( wxT( "modules" ) );
envVarItem.SetDefinedExternally( false );
}
envVarItem.SetValue( tmpFileName.GetFullPath() );
m_local_env_vars[ envVarName ] = envVarItem; m_local_env_vars[ envVarName ] = envVarItem;
// KISYS3DMOD
envVarName = wxT( "KISYS3DMOD" ); envVarName = wxT( "KISYS3DMOD" );
tmpFileName.AppendDir( wxT( "packages3d" ) ); if( wxGetEnv( envVarName, &envValue ) == true && !envValue.IsEmpty() )
envVarItem.SetValue( tmpFileName.GetPath() ); {
envVarItem.SetDefinedExternally( wxGetEnv( envVarName, NULL ) ); tmpFileName.AssignDir( envValue );
envVarItem.SetDefinedExternally( true );
}
else
{
tmpFileName.AppendDir( wxT( "packages3d" ) );
envVarItem.SetDefinedExternally( false );
}
envVarItem.SetValue( tmpFileName.GetFullPath() );
m_local_env_vars[ envVarName ] = envVarItem; m_local_env_vars[ envVarName ] = envVarItem;
// KICAD_PTEMPLATES
envVarName = wxT( "KICAD_PTEMPLATES" ); envVarName = wxT( "KICAD_PTEMPLATES" );
tmpFileName = baseSharePath; if( wxGetEnv( envVarName, &envValue ) == true && !envValue.IsEmpty() )
tmpFileName.AppendDir( wxT( "template" ) ); {
envVarItem.SetValue( tmpFileName.GetPath() ); tmpFileName.AssignDir( envValue );
envVarItem.SetDefinedExternally( wxGetEnv( envVarName, NULL ) ); envVarItem.SetDefinedExternally( true );
}
else
{
tmpFileName = baseSharePath;
tmpFileName.AppendDir( wxT( "template" ) );
envVarItem.SetDefinedExternally( false );
}
envVarItem.SetValue( tmpFileName.GetFullPath() );
m_local_env_vars[ envVarName ] = envVarItem; m_local_env_vars[ envVarName ] = envVarItem;
} }