The swig wrappers don't really depend on git (but rather on swig) and there can be
situations the builder wants to generate the wrappers also from a tar ball.
- add simple target called 'pot' so translators can run 'make pot'
- make gnucash.pot depend on all files with translatable strings. So whenever
one of these files is changed the potfile will automatically be regenerated
(if the current target depends on it, like 'pot' or 'dist')
Note the default target (make without anything) does not depend on gnucash.pot
so the potfile will not automatically be (re)generated when building that target.
- the two dist_add_... macros now both take a list of file names
as argument so more files can be added at once to the dist tarball.
- dist_add_generated now creates the right target by itself. There's
no need to pass one any more
- make the swig generated *.py module files explicit output files
- change a couple of custom_targets into custom_commands. The only
reason they were defined as targets was to ensure they got built
before the dist tarball. This is now properly handled by the
dist_add_... macros.
- correctly handle dependency on swig-runtime.h (using OBJECT_DEPENDS
was not the way to do it according to that property's help page)
cmake with unix makefiles fails to resolve dist dependencies
added from COPY_FROM_BUILD if these dependencies aren't built yet.
This commit replaces the COPY_FROM_BUILD based logic with two new functions
'dist_add_configured' and 'dist_add_generated' to indicate which files should
be included in the dist tarball. The latter also adds a target level dependency
to the dist tarball custom command. Hence the former should
be used for files that get generated during a cmake run while the latter
should be used for files generated as the result of a 'make/ninja-build' run
(like files for which an add_custom_command rule exists).
Note: this commit also temporarily disables the dist target when building
from a tarball (and hence it won't be tested in distcheck either). This
will be handled in a future commit.
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.
Rsovled conflicts:
po/es.po
- all conflicts related to goffice strings were resolved in favor or the goffice translation
- all other conflicts were resolved in favor of the TP po file
Resolved conflicts:
gnucash/gnome-search/dialog-search.c
gnucash/gnome-utils/gnc-splash.c
gnucash/import-export/aqb/gnc-plugin-aqbanking.c
gnucash/import-export/import-account-matcher.c
po/de.po
src/report/standard-reports/budget-barchart.scm
src/report/standard-reports/budget.scm
Note the de.po conflict was resolved by dropping all changes
and merging the file again with gnucash.pot (generated after
the merge but before committing).
Resolved conflicts:
po/de.po
Note: it took several attempts to get this merge right. In the end I used
git mergetool (with kdiff3 as backend), then chose to take the remote end
(C in kdiff3) for all changes (conflicting or not) and then went back to
the goffice strings and changed each resolved conflict in the goffice strings
to the HEAD version (B in kdiff3). This worked because both Mechtilde's po
file and the one in unstable were merged against the same po file and I
was only interested in overriding goffice translations where Mechtilde's
translation differed from the one imported before by script. And even then
I had one more error to fix in line 430 (where msgstring appeared on two
consecutive rows). I'm mainly adding this info a reference in case we
see similar merge conflicts from future translations.