Commit Graph

293 Commits

Author SHA1 Message Date
John Ralls
f85be03bb5 Merge branch 'maint' 2020-03-29 14:46:55 -07:00
John Ralls
3c75140d04 Release GnuCash 3.9 2020-03-28 11:35:34 -07:00
John Ralls
058a507781 ChangeLog.2019 2020-03-28 11:34:03 -07:00
Geert Janssens
90345096e4 Merge branch 'maint' 2020-02-28 18:37:10 +01:00
Geert Janssens
6316debc17 Moderately bump aqbanking and gwenhywfar versions
The chosen versions are those available in Ubuntu 18.04, our baseline distro.
This allows to drop our own copy of gwenhywfar-gui.
2020-02-24 13:31:02 +01:00
Geert Janssens
dd18128927 Tweak appdata file generation some more
Should make it easier for packagers to provide their own releases data.
2020-02-17 14:23:43 +01:00
Geert Janssens
69df81e7ef Merge branch 'maint'
- gettext minimum required version on master becomes 0.19.6
- simplify gettext detection code and appdata/desktop file creation
  based on this new minimum
- fix merge conflict for new test-new-owner-report
- update deprecated scheme modules for test-new-owner-report
2020-02-08 14:32:21 +01:00
Geert Janssens
8243496ed0 Rework our gettext tests
- only abort configuration if gettext is older than 0.18.1 (required for string extraction from scheme files)
- otherwise always continue but disable a few other build steps depending on the gettext version
- use feature variables to more clearly convey what is enabled or disabled
2020-02-08 13:19:23 +01:00
Geert Janssens
2d907ff495 Lower gettext version again until a better solution is found 2020-02-06 20:10:42 +01:00
Geert Janssens
ab5b7155af CMake - remove parameter repetition in else() and endif() statements
Fix leftovers after the maint branch merge
2020-02-06 17:01:26 +01:00
Geert Janssens
301db9020d Merge branch 'maint' 2020-02-06 16:50:08 +01:00
Geert Janssens
90e95ba8ef CMake - remove parameter repetition in else() and endif() statements - part 2
This follows Professional CMake's recommended practises
I missed plenty of these in my first commit. This one should fix
these remaining occurrences.
2020-02-06 16:16:36 +01:00
Frank H. Ellenberger
ec7e6c37d1 Add a warning for gettext < 0.20
They do not recognize <developer_name>GnuCash Project</developer_name>
in gnucash.appdata (https://savannah.gnu.org/bugs/?50408)
2020-01-31 01:52:52 +01:00
Christopher Lam
62c2203d40 Merge branch 'maint' 2020-01-30 20:30:04 +08:00
Geert Janssens
031d805bb2 Fix binreloc test for all install paths inside prefix
The FHS standard rules for a /opt based prefix sets a sysconfig dir to
/etc/opt/... which is outside of /opt. This was however not detected
properly. It now is.
2020-01-22 22:05:20 +01:00
Geert Janssens
490b20d2da Merge branch 'maint' 2020-01-17 18:35:30 +01:00
Geert Janssens
d8a304c2c9 Housekeeping - reduce the number of PACKAGE and VERSION related cmake variables
This starts by setting the gnucash version number in the 'project' call.
This will result in a number of variables set by cmake. The remainder
of this commit is to reuse the auto-generated
PROJECT_NAME, PROJECT_VERSION, PROJECT_VERSION_MAJOR
PROJECT_VERSION_MINOR, PROJECT_VERSION_PATCH and PROJECT_VERSION_TWEAK
instead of all the various instances of PACKAGE, GNUCASH_MAJOR_VERSION
and so on.

One parameter is worth mentioning - GETTEXT_PACKAGE
GnuCash is not using this directly (any more) but it has to be set before
including gi18n-lib.h.
2020-01-17 18:15:27 +01:00
John Ralls
211c1119f3 Release GnuCash 3.8. 2019-12-28 13:38:13 -08:00
Geert Janssens
e8451ae1db tax - remove gncmod boilerplate
This is now an ordinary shared library

* Remove test to load the gnc-module in scheme
* Rewrite test to load the module in C to actually test something.
2019-12-06 20:38:21 +01:00
Geert Janssens
d52aa0a0dd app-utils - remove gnc-module boilerplate
app-utils now is an ordinery shared library

A few bits worth mentioning:
1. it's not guile-free just yet, so instead of a gnc_module_load
   your code may have to call scm_c_use_module("gnucash app-utils");
   to expose the scm side of the app-utils api. This call has been
   added to gnucash-bin.c for example
2. while lots of noise in this commit is to rename from gncmodule-app-utils
   to gnc-app-utils, I'll point out the library has also been moved from
   <libdir>/gnucash to <libdir>. This required changes in app-util's
   CMakeLists.txt file for the install side and in the top level
   CMakeLists.txt file for the build directory structure.
3. The C side link module test has been removed as linking an ordinary
   shared library should be considered well tested by the compiler devs.
   The scheme side module load test has been slightly tweaked to no longer
   try to use gnc:module-load, but instead now checks whether the app-utils
   api is properly exposed to scheme after loading it via use-modules.
4. Dropped a completely obsolete README file.
2019-12-06 20:38:21 +01:00
Geert Janssens
4c77f7670e engine - remove gncmod boilerplate
engine is now an ordinary shared library

This requires a few more places to run gnc_engine_init as
this is no longer done as part of module loading.
2019-12-06 20:38:21 +01:00
Geert Janssens
e493d42def Introduce gnucash-guile shared library
This (currently empty) library is intented to become
the standard api library for guile code that wants
to use the libgnucash functionality.
2019-12-06 19:59:11 +01:00
Christopher Lam
330687deb6 Merge branch 'maint' 2019-10-23 07:53:25 +08:00
Geert Janssens
994dcd5d9f Remove debugging messages that accidentally had slipped in 2019-10-17 22:45:39 +02:00
John Ralls
931cf50f69 Set C and C++ standards the modern Cmake way, and set C++ to C++17.
Take 2, accepts pre-1.67 versions of boost that have been patched to
remove boost::locale's dependence on auto_ptr.
2019-10-12 17:03:40 -07:00
John Ralls
58cfb58b9c Revert "Set C and C++ standards the modern Cmake way, and set C++ to C++17."
This reverts commit b5afd2e319.

Our baseline distro, Ubuntu 18.04, provides boost 1.65 and boost 1.67
is required for building with C++17 because the boost::locale developer
hung on to auto_ptr 6 years longer than he should have.
2019-10-08 21:05:00 -07:00
John Ralls
b5afd2e319 Set C and C++ standards the modern Cmake way, and set C++ to C++17.
Boost has to go to 1.67 as well because boost::locale used auto_ptr
before that and it's been removed from the language in C++17.
2019-10-08 13:46:42 -07:00
John Ralls
5e41c79c76 Require SWIG >=3.0.12 for facility to extend C++ classes with templates. 2019-10-08 11:09:53 -07:00
Geert Janssens
b00a95c0b3 Tweak install rule to be able to compile glib's schema's on Windows as well
(Cherry picked from master)
It's a bit of a hack based on the assumption DESTDIR is never set on Windows.
A install time guard is added to assert this.

It needed a few changes to make this working:
- Have cmake expand DESTDIR instead of delaying this to bash
  If not, bash would see "$DESTDIRC:/gcdev64/..." and we'd loose
  the drive letter in bash' expansion of $DESTDIRC.
  So work with $ENV{DESTDIR} instead
- To prevent cmake from already expanding this in the
  build system generation step add the appropriate escapes to
  that variable.
- Add guard code in the install command that asserts
  DESTDIR is not set on Windows. Use similar escapes as
  necessary to ensure the evaluation happens at install time
  rather than in the generation step.
2019-10-06 22:10:41 +02:00
Geert Janssens
75073a7ab2 Tweak install rule to be able to compile glib's schema's on Windows as well
It's a bit of a hack based on the assumption DESTDIR is never set on Windows.
A install time guard is added to assert this.

It needed a few changes to make this working:
- Have cmake expand DESTDIR instead of delaying this to bash
  If not, bash would see "$DESTDIRC:/gcdev64/..." and we'd loose
  the drive letter in bash' expansion of $DESTDIRC.
  So work with $ENV{DESTDIR} instead
- To prevent cmake from already expanding this in the
  build system generation step add the appropriate escapes to
  that variable.
- Add guard code in the install command that asserts
  DESTDIR is not set on Windows. Use similar escapes as
  necessary to ensure the evaluation happens at install time
  rather than in the generation step.
2019-10-06 21:51:59 +02:00
John Ralls
78f44434da Fix missing include CheckSymbolExists and use the AQB linkage flags found by pkg-config. 2019-09-21 15:53:25 -07:00
John Ralls
b8b33b9591 Revert "More conversions from pkg-config variables to imported targets."
This reverts commit 1a9fcfefad because
on MinGW cmake complains about the paths in pkgconfig files. This can
be addressed by using the MSYS2 cmake instead of the MINGW32 one, but
that requires some other changes... and there's also a path separator
bug in that version of FindPkgConfig.cmake.
2019-09-21 15:53:25 -07:00
Geert Janssens
980daeec83 Make swig wrapper generation just another build step
Until now it was only done when building from git, but there's no
real reason not to do it as a normal build step in all cases.
It may have been unreliable in the past. There's no evidence
it still is.
2019-09-21 22:50:51 +02:00
Geert Janssens
9214f2ed5b Merge branch 'maint' 2019-09-18 22:42:48 +02:00
Christopher Lam
16da1acf1d Merge branch 'typos1' of git://github.com/luzpaz/gnucash into luzpaz-typos1 2019-09-18 21:36:29 +08:00
Christian Stimming
ccaaa14187 [aqbanking] Again use aqbanking version number for new function instead of cmake_symbol_check
This reverts commit adae341d, "Use cmake_symbol_check to test for
AB_Banking_RuntimeConfig_SetCharValue". We received multiple reports
that the cmake check fails and the behaviour unexpectedly does not use
the new function. As this is completely counter-intuitive as long as the
new-enough aqbanking version are there, we better just stick
to the aqbanking version numbers, especially because this function is used
only in exactly one place here.
2019-09-17 22:09:47 +02:00
Geert Janssens
594388b765 Drop support for gettext older than 0.19.6 2019-09-17 15:46:50 +02:00
Geert Janssens
797654133b Use newer cmake version checks 2019-09-17 15:46:50 +02:00
John Ralls
6753b30b86 Convert GtkMacIntegration to package-style dependencies. 2019-09-15 12:27:43 -07:00
John Ralls
76979554a0 Ubuntu 18.04 requires explicit link to pthreads. 2019-09-14 11:49:12 -07:00
luz.paz
65bb60d621 Fix typos for gnuchash/ doc/ bindings/ and misc.
Typos found via `codespell -q 3 -D ~/Projects/codespell/codespell_lib/data/dictionary.txt -S *.po,./po,*.min.js,./ChangeLog*,./NEWS,./doc/README*,./AUTHORS,./libgnucash/tax/us/txf-de*,./data/accounts -L ans,cas,dragable,gae,iff,iif,mut,nd,numer,startd,stoll`
2019-09-13 20:26:03 -04:00
John Ralls
1a9fcfefad More conversions from pkg-config variables to imported targets.
Also converts ICU detection from pkgconfig to FindICU.
2019-09-13 17:05:35 -07:00
Matthew Forbis
c675b5b5e4 Fix incorrect signature error with Cmake >= 3.6 and Webkit1. 2019-09-13 10:52:28 -07:00
John Ralls
e38cc91452 Merge branch 'maint'
Bumping the required cmake to 3.10 and removing GncPkgConfig.cmake as
no longer required.
2019-09-13 09:43:04 -07:00
John Ralls
41c58ec00a Convert Gtk3 and Webkit to imported targets.
This causes CMake to include their headers with -isystem instead of -I,
so the compiler doesn't generate warnings on them. ArchLinux was failing
to build because of such warnings.

Includes a function from cmake 3.6 to allow this to work on systems like
Ubuntu 14.04 that still provide only cmake 3.5.
2019-09-12 21:20:29 -07:00
John Ralls
84cfc5743b Release GnuCash 3.7 2019-09-07 16:38:10 -07:00
Christian Gruber
97a81980e5 Remove support for GoogleTest/GoogleMock <= v1.8.0
This simplifies function gnc_gtest_configure(), since GoogleTest and
GoogleMock are combined in one source directory.

Additionally variable GMOCK_ROOT is not necessary anymore and is
removed.
2019-09-04 22:06:32 +02:00
Geert Janssens
9a48122d41 Merge maint 2019-08-27 17:25:41 +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
0e93e95c6c Merge maint 2019-08-17 12:53:55 +02:00