123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- {
- sdkutil.pas
- SDK utility methods
- Copyright (C) 2006-2007 Felipe Monteiro de Carvalho
- This file is part of MkSymbian build tool.
- MkSymbian is free software;
- you can redistribute it and/or modify it under the
- terms of the GNU General Public License version 2
- as published by the Free Software Foundation.
- MkSymbian is distributed in the hope
- that it will be useful, but WITHOUT ANY WARRANTY; without even
- the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- PURPOSE. See the GNU General Public License for more details.
- Please note that the General Public License version 2 does not permit
- incorporating MkSymbian into proprietary programs.
- }
- unit sdkutil;
- {$ifdef fpc}
- {$mode delphi}{$H+}
- {$endif}
- interface
- uses
- Classes, SysUtils, registry, constants;
- type
- { TSDKUtil }
- TSDKUtil = class(TObject)
- public
- SDKFolder, SDKPartialFolder, StrSDKVersion: string;
- SDKVersion: TSDKVersion;
- constructor Create;
- procedure LocateUIQ2SDK;
- procedure LocateUIQ3SDK;
- end;
- var
- vSDKUtil: TSDKUtil;
- implementation
- uses projectparser;
- { TSDKUtil }
- constructor TSDKUtil.Create;
- begin
- StrSDKVersion := vProject.SDK + ' ' + vProject.SDKVersion;
- if StrSDKVersion = Str_UIQ21 then SDKVersion := sdkUIQ21
- else if StrSDKVersion = Str_UIQ3 then SDKVersion := sdkUIQ3;
- case SDKVersion of
- sdkUIQ21: LocateUIQ2SDK;
- sdkUIQ3: LocateUIQ3SDK;
- end;
- end;
- procedure TSDKUtil.LocateUIQ2SDK;
- begin
- SDKPartialFolder := '\Programas\UIQ21\';
- SDKFolder := 'C:' + SDKPartialFolder;
- end;
- procedure TSDKUtil.LocateUIQ3SDK;
- var
- Reg: TRegistry;
- BufferStr: string;
- begin
- Reg := TRegistry.Create;
-
- try
- Reg.RootKey := HKEY_LOCAL_MACHINE;
- if Reg.OpenKey('\SOFTWARE\Symbian\UIQ\SDK\UIQ3SDK', False) then
- begin
- BufferStr := Reg.ReadString('InstallPath');
- SDKFolder := IncludeTrailingBackslash(BufferStr);
- SDKPartialFolder := Copy(SDKFolder, 3, Length(SDKFolder) - 2);
- end
- else
- begin
- WriteLn(' ERROR: Could not locate the SDK, using default values');
- SDKPartialFolder := '\Symbian\UIQ3SDK\';
- SDKFolder := 'C:' + SDKPartialFolder;
- end;
- finally
- Reg.Free;
- end;
- end;
- end.
|