Commit Graph

31 Commits

Author SHA1 Message Date
John Ralls
0ecafc93ed Correct CMake distribution.
Remove deleted gnc-fq-helper.1 and gnc-fq-dump.1 doc dependencies.
Add csv-exp/test to Dist.

add csv-exp/test
2023-04-30 09:10:10 -07:00
Geert Janssens
0c15dc175c Fix building based on unix makefiles
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
2021-03-23 16:33:56 +01:00
Geert Janssens
5bf3bfc6b6 Bug 797691 - Tip of the day is not rebuilt when the source file changes
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
2021-03-17 16:24:22 +01:00
Geert Janssens
153ee8871a Add first version of gnucash-cli manpage
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.
2020-06-05 20:32:14 +02:00
Geert Janssens
769196fec6 First version of a gnucash-cli man page 2020-06-05 20:13:34 +02:00
John Ralls
fe28d6c3dc Merge branch 'maint' 2020-05-31 08:21:49 -07:00
John Ralls
58354c7854 Remove obsolete documentation files.
guile-hackers.txt has been copied into https://wiki.gnucash.org/wiki/Scheme.
2020-05-25 17:18:45 -07:00
Geert Janssens
0cfb40efeb CMake - use configure_file instead of file(COPY ) wherever possible
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
2020-04-19 21:23:22 +02:00
Geert Janssens
e8543008c0 Manpage generation tweaks
- 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
2019-08-24 17:33:16 +02:00
Geert Janssens
7dc59950a5 Bug 797353 - Add copyright and release info in appdata file
This also means the appdata file now requires preprocessing to set this info
automatically.
2019-08-24 17:32:16 +02:00
Geert Janssens
c4a21bc9d4 Extract a few cmake commands to dedicated files rather than generating them on the fly
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.
2019-08-24 17:05:03 +02:00
John Ralls
e148477c70 Remove build-osx.txt, build-solaris.txt, and misc-notes.txt.
The first two are utterly obsolete and the third copies a mailing
list conversation from 20 years ago about stock splits.
2019-06-29 14:10:23 -07:00
Frank H. Ellenberger
a4e08d7cda add data/accounts/hr and README-hr.win32-bin.txt to CMakeLists 2019-02-23 22:39:44 +01:00
Geert Janssens
a9f35ed7ae Lowercase cmake commands
A huge bikeshed fest but it distracted me enough to do it anyway.
2018-05-03 23:18:15 +02:00
Robert Fewell
dacaa93951 Bug 795446 - On Windows there is a blank tip of the day
When the tip_of_the_day.list is created a new line is appended to the
list file and on Windows this causes a blank tip so remove the adding
of the extra line.
2018-04-24 15:52:52 +01:00
Geert Janssens
ba799feb2a Drop intltool in favour or using modern gettext
This requires at least gettext 0.19.6, and will break our ubuntu 14.04LTS test instance on Travis.
The next commit will work around this.
2018-02-27 22:30:06 +01:00
Robert Fewell
3bc741e193 Remove doc gtk2 rc file and replace with gtk3 css one 2018-02-18 22:41:21 +00:00
Geert Janssens
d345624c55 Fix project name, which also determines a number of default paths
It should be all lowercase to be consistent
2018-02-01 14:32:26 +01:00
Geert Janssens
ff24970f5f Add GENERATE_SWIG_WRAPPERS option to control the generation of swig wrappers independently of whether we're building from git
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.
2018-01-31 16:16:59 +01:00
Geert Janssens
4317d8a8f6 Improve handling of generated distributable files
- 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)
2018-01-29 19:46:44 +01:00
Geert Janssens
3dff4e5211 Fix make dist on a clean checkout
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.
2018-01-29 19:46:44 +01:00
Geert Janssens
85bfbd8e82 Some minor cleanups after the autotools removal
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.
2018-01-26 18:22:48 +01:00
Rob Gowin
54ac7f23e0 Remove Autotools 2018-01-13 12:52:57 -06:00
John Ralls
9b0a8723a4 More GNUInstallDirs path fixes. 2017-12-01 13:56:52 -08:00
Geert Janssens
9472e9347f Replace ambiguous 'scm' with 'vcs' in macro name
Pointed out by Frank.
2017-10-05 22:47:11 +02:00
Geert Janssens
e56cb37813 Additional changes to use commit date rather than build date
This effectively replaces the use of GNUCASH_BUILD_DATE with GNUCASH_SCM_REV_DATE.
The latter is extracted from the current commit if building from some kind of vcs
(currently only works correctly for svn and git). The info extracted while building
from vcs is then also added to the dist tarball so it's available when building
from tarball as well (via the file libgnucash/core-utils/gnc-vcs-info.h).

The same date is also used to set the date in gnucash' man page document.
A practical detail: I have changed the substitution variables in the man page template
from @- -@ to ${} so we could leverage CONFIGURE_FILE in cmake. The necessary
related adjustments have also been made to Makefile.am's substitution rules.
2017-10-05 15:51:55 +02:00
Josep-Maria Prat
a7ec61393b Readme translated into catalan 2017-09-26 11:56:50 +02:00
Rob Gowin
6b14dc5b59 Implement 'dist', 'distcheck' and 'uninstall' targets for CMake 2017-07-03 16:15:17 -07:00
John Ralls
38527d08f1 Bug 775912 - Tips of the Day shows content only once very 3 times
Remove extra line-feeds from CMake generation of tips_of_the_day.list. They're unneeded and mess up windows parsing the file.
2016-12-13 11:53:23 -08:00
RobGowin
53b7c51632 Support CMake 3.0 for Debian Jessie 2016-01-14 09:58:29 -08:00
Rob Gowin
1d474968ca Add ability to build GnuCash with CMake
Backported from master.
2016-01-12 14:47:11 -08:00