From 2d5e028aa06d85621eb41d86ae6f61fb8a5818b0 Mon Sep 17 00:00:00 2001 From: mattias Date: Thu, 12 Apr 2012 21:40:44 +0000 Subject: [PATCH] lazbuild: quick check if lazarusdire is valid git-svn-id: trunk@36740 - --- ide/lazbuild.lpr | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/ide/lazbuild.lpr b/ide/lazbuild.lpr index 6ad901cc78..010425a1f1 100644 --- a/ide/lazbuild.lpr +++ b/ide/lazbuild.lpr @@ -332,8 +332,8 @@ var begin Result:=false; - Init; - + if not Init then exit; + APackage:=LoadPackage(AFilename); if APackage=nil then Error(ErrorLoadPackageFailed, 'unable to load package "'+AFilename+'"'); @@ -413,7 +413,7 @@ var ProfileChanged: boolean; begin Result:=false; - Init; + if not Init then exit; LoadMiscellaneousOptions; BuildLazProfiles:=MiscellaneousOptions.BuildLazProfiles; @@ -659,7 +659,7 @@ begin Result:=false; CloseProject(Project1); - Init; + if not Init then exit; Project1:=LoadProject(AFilename); @@ -864,6 +864,7 @@ begin MainBuildBoss.HasGUI:=false; SetupMacros; LoadEnvironmentOptions; + if Terminated then exit(false); LoadMiscellaneousOptions; SetupLazarusDirectory; SetupCodetools; @@ -880,9 +881,12 @@ begin MainBuildBoss.SetBuildTarget(OSOverride,CPUOverride,WidgetSetOverride,bmsfsSkip,true); fInitResult:=true; + Result:=fInitResult; end; procedure TLazBuildApplication.LoadEnvironmentOptions; +var + Note: string; begin with EnvironmentOptions do begin CreateConfig; @@ -891,7 +895,7 @@ begin fLazarusDirInCfg:=LazarusDirectory; if Application.HasOption('language') then begin - debugln('TLazBuildApplication.Init overriding language with command line: ', + debugln('Note: overriding language with command line: ', Application.GetOptionValue('language')); EnvironmentOptions.LanguageID:=Application.GetOptionValue('language'); end; @@ -905,6 +909,13 @@ begin if LazarusDirOverride<>'' then LazarusDirectory:=CleanAndExpandDirectory(LazarusDirOverride); end; + if not FileExistsUTF8(EnvironmentOptions.GetParsedLazarusDirectory + +SetDirSeparators('packager/registration/fcl.lpk')) + then begin + CheckLazarusDirectoryQuality(EnvironmentOptions.GetParsedLazarusDirectory,Note); + debugln(['Error: invalid Lazarus directory "'+EnvironmentOptions.LazarusDirectory+'": '+Note]); + Terminate; + end; end; procedure TLazBuildApplication.LoadMiscellaneousOptions;