Found via `codespell -q 3 -S *.po,./po,*.min.js,./ChangeLog*,./NEWS,./borrowed,./doc/README*,./AUTHORS,./libgnucash/tax/us/txf-de*,./data/accounts -L ans,ba,cas,dragable,gae,iff,iif,mut,nd,numer,parm,parms,startd,stoll`
There are a few subtle differences between unix makefiles and ninja
that sometimes go uncaught as the core devs usually use ninja.
This commit fixes two:
- don't depend directly on files in other source/binary directories.
Use a custom target to depend on instead
- recursively create target directories, as make doesn't automatically
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
On windows 10, if the font has been specified in CSS with 'sans-serif',
the insertion cursor on an empty entry widget is not shown. Choosing a
different font such as 'arial' is OK. As reporter based there changes
on the example CSS file remove the reference to 'sans-serif'
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.
With the requirement for Gtk+ 3.22, the version checks dealing with CSS
can be removed and the application CSS files dealing with version 3.10
can be removed with the remaining being renamed.
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
Resolves most merge conflicts. The only bit I was unable
to merge from maint into master is the use of match-lambda
in category-barchart.scm. This will have to be redone manually.
Other meanings of previous " -> " are now:
" -> " conversion
" .. " a range
Other fixes:
1. "File>Save" typo
2. Remove $ from sort order tooltips as it is
a. not relevant,
b. untranslatable for languages used in different regions.
- depend on gnc-vcs-info.h file directly instead of the gnc-vcs-info target
The latter won't cause gnucash to update the manpage in case gnc-vcs-info.h changes,
the former does.
- use GNC_VCS_REV as version instead of the static VERSION parameter
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.