mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-09 21:48:35 +02:00
103 lines
2.1 KiB
ObjectPascal
103 lines
2.1 KiB
ObjectPascal
{
|
|
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.
|
|
|