* Added version-number to fppkg

git-svn-id: trunk@40515 -
This commit is contained in:
joost 2018-12-09 23:40:44 +00:00
parent 40673d713c
commit bfe870afd9
3 changed files with 44 additions and 1 deletions
packages/fpmkunit/src
utils/fppkg

View File

@ -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;

View File

@ -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');

View File

@ -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