On 29/03/2014 13:17, Joe Taylor wrote:
> Hi Bill,
Hi Joe,
>
> I haven't yet followed exactly what's done to establish a "revision"
> signature for display on the WSJT-X title bar, but it does not seem to
> be working quite the right way.  This morning, I did an svn update to
> r3956, then rebuilt WSJT-X.  No local changes of any kind.  The title
> bar says "v1.4.0, local".
Ok, I need to look into that.

With CMake it has a custom target in the build which runs a short CMake 
script that uses 'svn info' to look up the current revision. I recently 
added more to try and determine that the source workspace doesn't 
contain any locally modified files. Last night I also enhanced it to 
work with git-svn workspaces as well. The revision number gets inserted 
into a header file called svnversion.h.

The overall intent is to make it clear a build is something that can be 
reproduced by anyone and conversely remind us when we might release a 
version that is based on local uncommitted changes.

It looks like my changes to accommodate git-svn might have broken the 
svn code :( I will look into that.

BTW the way the possible revision strings are 'rNNNN' for a clean 
workspace, 'rNNNN-dirty' for a workspace with local changes and, 
'rlocal' for a workspace that isn't under source control.

There is a complication in that it has to support qmake builds, in that 
case the old "$Rev:$' mechanism is used. That is broken as it always has 
been with the need to touch mainwindow.cpp to ensure a build of the code 
that generates the revision number.

The last bit I would love to abandon in favour of the more reliable 
CMake driver mechanism.
>
> While I'm at it: title bars on Wide Graph and Astronomical Data have the
> identifier "wsjtx", while the mein window has "WSJT-X".  Probably all
> should use upper case and include the "-".

The window titles are an area that needs attention. The left hand text 
is intended to show the "rig-name" used in multi instance support, I 
added this to make it clear which windows belongs with which rig. The 
format is "program-name - rig-name", program name is the actual name of 
the executable file at present (the Qt default) and if the rig-name 
isn't present then the " - " is elided. The main window needs similar 
treatment. I had left that to be decided when the qmake build was 
abandoned because of the revision number complications. I agree that 
WSJT-X is probably better as a program title and would prefer the 
executable to be called that, that way the name will flow through naturally.

Personally I would prefer to not show the svn revision in the title bar, 
instead moving it to the "About" window for example. Then releases would 
be generally identified by the major.minor.patch system which would also 
be used to manually tag the release code base in the source control 
system. The version number in CMake builds is controlled by the file 
Versions.cmake and the numbers defined there are available to CMake and 
every C/C++ source file by means of defines in the wsjtx_config.h file 
which is forced by the compiler "-include" switch to be the first 
include of every source file.
>
>       -- Joe, K1JT
73
Bill
G4WJS.

------------------------------------------------------------------------------
_______________________________________________
wsjt-devel mailing list
wsjt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wsjt-devel

Reply via email to