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