mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-15 22:19:32 +02:00
* Added version-number to fppkg
git-svn-id: trunk@40515 -
This commit is contained in:
parent
40673d713c
commit
bfe870afd9
@ -890,6 +890,7 @@ Type
|
||||
Property SupportBuildModes: TBuildModes read FSupportBuildModes write FSupportBuildModes;
|
||||
Property BuildMode: TBuildMode read FBuildMode;
|
||||
Property Flags: TStrings read FFlags;
|
||||
Property PackageVersion: TFPVersion read FVersion;
|
||||
// Options which are passed to the compiler for packages which depend on
|
||||
// this package.
|
||||
Property TransmitOptions: TStrings Read GetTransmitOptions Write SetTransmitOptions;
|
||||
|
@ -13,6 +13,7 @@ const
|
||||
Var
|
||||
P : TPackage;
|
||||
T : TTarget;
|
||||
VS: string;
|
||||
|
||||
begin
|
||||
With Installer do
|
||||
@ -39,6 +40,16 @@ begin
|
||||
|
||||
P.SupportBuildModes:=[bmOneByOne];
|
||||
|
||||
P.Options.Add('-Sm');
|
||||
Str(P.PackageVersion.Major, VS);
|
||||
P.Options.Add('-dpackage_version_major:='+VS);
|
||||
Str(P.PackageVersion.Minor, VS);
|
||||
P.Options.Add('-dpackage_version_minor:='+VS);
|
||||
Str(P.PackageVersion.Micro, VS);
|
||||
P.Options.Add('-dpackage_version_micro:='+VS);
|
||||
Str(P.PackageVersion.Build, VS);
|
||||
P.Options.Add('-dpackage_version_build:='+VS);
|
||||
|
||||
P.Dependencies.Add('fcl-base');
|
||||
P.Dependencies.Add('fcl-xml');
|
||||
P.Dependencies.Add('fcl-process');
|
||||
|
@ -1,11 +1,24 @@
|
||||
program fppkg;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
{$mode objfpc}{$H+}{$macro on}
|
||||
|
||||
{$if defined(VER2_2) and (FPC_PATCH<1)}
|
||||
{$fatal At least FPC 2.2.1 is required to compile fppkg}
|
||||
{$endif}
|
||||
|
||||
{$ifndef package_version_major}
|
||||
{$define package_version_major:=0}
|
||||
{$endif}
|
||||
{$ifndef package_version_minor}
|
||||
{$define package_version_minor:=0}
|
||||
{$endif}
|
||||
{$ifndef package_version_micro}
|
||||
{$define package_version_micro:=0}
|
||||
{$endif}
|
||||
{$ifndef package_version_build}
|
||||
{$define package_version_build:=0}
|
||||
{$endif}
|
||||
|
||||
uses
|
||||
// General
|
||||
{$ifdef unix}
|
||||
@ -28,6 +41,12 @@ uses
|
||||
{$endif}
|
||||
;
|
||||
|
||||
const
|
||||
version_major = package_version_major;
|
||||
version_minor = package_version_minor;
|
||||
version_micro = package_version_micro;
|
||||
version_build = package_version_build;
|
||||
|
||||
Type
|
||||
{ TMakeTool }
|
||||
|
||||
@ -37,6 +56,7 @@ Type
|
||||
ParaPackages : TStringList;
|
||||
procedure MaybeCreateLocalDirs;
|
||||
procedure ShowUsage;
|
||||
procedure ShowVersion;
|
||||
Public
|
||||
Constructor Create;
|
||||
Destructor Destroy;override;
|
||||
@ -94,6 +114,7 @@ begin
|
||||
Writeln(' -C --config-file Specify the configuration file to use');
|
||||
Writeln(' -c --config Set compiler configuration to use');
|
||||
Writeln(' -h --help This help');
|
||||
Writeln(' -V --version Show version and exit');
|
||||
Writeln(' -v --verbose Show more information');
|
||||
Writeln(' -d --debug Show debugging information');
|
||||
Writeln(' -f --force Force installation also if the package is already installed');
|
||||
@ -256,6 +277,11 @@ begin
|
||||
ShowUsage;
|
||||
halt(0);
|
||||
end
|
||||
else if CheckOption(I,'V','version') then
|
||||
begin
|
||||
ShowVersion;
|
||||
halt(0);
|
||||
end
|
||||
else if (Length(Paramstr(i))>0) and (Paramstr(I)[1]='-') then
|
||||
begin
|
||||
if FirstPass then
|
||||
@ -426,6 +452,11 @@ begin
|
||||
SetCurrentDir(OldCurrDir);
|
||||
end;
|
||||
|
||||
procedure TMakeTool.ShowVersion;
|
||||
begin
|
||||
Writeln('Version: ', version_major, '.', version_minor, '.', version_micro, '-', version_build);
|
||||
end;
|
||||
|
||||
|
||||
begin
|
||||
With TMakeTool.Create do
|
||||
|
Loading…
Reference in New Issue
Block a user