Changes to tip_of_the_day.list.c will now properly trigger a rebuild.
Plus a few minor assorted fixes and changes to generating the man pages
- only generate the final files in share/gnucash, not in the build directory
- gnucash-cli.1 was not installed, gnucash.1 twice
Note manpages for both gnucash and gnucash-cli need revision.
They refer to outdated files and environment variables, and
some more recent command line options are missing.
file(COPY ) will only trigger when the destination file doesn't exist yet.
It won't retrigger on source file changes.
configure_file on the other hand will. To avoid unwanted substitution
attempts this can be invoked with the COPYONLY keyword.
Disadvantage of configure_file is that it will only take one
input file where file(COPY ) can operate on a list of files.
As such the configure_file statement has to be wrapped in a foreach.
A few uses of file(COPY ) can't be replaced as they are setting
file permissions. And the one in make_dist has been kept as that
always operates on an empty directory, hence copying is guaranteed.
The former will monitor the file for updates and copy it again
the latter will only copy the file if it doesn't exist in the destination yet
- attempt to merge in translations before merging in version data
- add the intermediate file (with translations) to the dist tarball
- dist builds no longer have to run the translation merge, but can instead
use the included intermediate file. This accomodates distros with
older gettext versions.
This simplifies a number of escape sequences.
The generated file to configure the man page was split up a bit further:
- code that extracted the GNC_VCS_REV_Y_M from gnc-vcs-info.h was spun out
into its own function that now sets all parameters in gnc-vcs-info.h
as environment variables.
- this function is now invoked by configure-manpage.cmake to extract
the date to insert into the manpage.
- the manpage in addition now shows the full date rather than only
yyyy-mm. This is how man itself does it as well.
There are more, but these are most common ones.
There are also a number of urls that don't behave well when https, so those are skipped
At some point I have also started marking non-working URLs as [DEAD LINK], though
that's not a full coverage.
gnucash has historically supported storing passwords for database
backends with libsecret when HAVE_LIBSECRET is defined. The code is
still present, but support for detecting libsecret's availablity was not
ported over when the build system was converted to cmake. This change
restores the missing detection.
This includes removal of the now unused make-gnucash-potfiles.in,
checking for CMakeLists.txt rather than Makefile.am in gnc-vcs-info,
upating the HACKING file,
and generally updating references to autotools.
I have kept "Makefile.*" exclude patterns in our CMakeLists.txt files
because they may still be lingering in the source directory from
previous autogen.sh runs. At some point these should probably be
removed as well still, together with the gitignore references to them.