Commit Graph

308 Commits

Author SHA1 Message Date
John Ralls
0f6cec18ee Release 3.903. 2020-05-31 14:39:38 -07:00
Geert Janssens
a435b4c4f6 Port command line option handling to boost::program_options
This allows for better separation of options in common, gnucash and gnucash-cli options.
2020-05-29 17:43:37 +02:00
John Ralls
20d53cc765 Merge branch 'maint' 2020-05-07 13:05:50 -07:00
John Ralls
601aec8ca0 Fix LIBDBI_DRIVERS_DIR generation.
Reusing the variable in a get_filename_component call caused the
function to recurse to /, not very useful.

Also re-do GNC_DBD_DIR with no default but to take its value from the
command line or environment.
2020-05-07 13:02:54 -07:00
John Ralls
650f7901cd Fix build on Ubuntu-18.04. 2020-05-04 19:47:34 -07:00
John Ralls
36039c8ca7 Shut up a cmake policy warning. 2020-05-01 15:56:33 -07:00
John Ralls
fa4ee6a085 Change the release to 3.902 after fixing all of the build problems. 2020-04-27 12:27:26 -07:00
John Ralls
3b26a0f3bc Release GnuCash 3.901. 2020-04-25 17:59:09 -07:00
John Ralls
bf6f463419 Fix build on ubuntu 18.04.
Apparently that version of cmake's pkg_check_modules chokes on pkg>x.x.x.
2020-04-24 21:51:13 -07:00
John Ralls
ed6ef531ec Update dependencies for 3.901 release. 2020-04-24 14:23:56 -07:00
John Ralls
396ddbd472 Remove support on Linux/BSD for ancient versions of WebKitGtk.
Still supporting 2.4.11 on Mac/Win.
2020-04-24 14:22:18 -07:00
John Ralls
758bd7b656 Merge branch 'maint' 2020-04-24 13:52:21 -07:00
John Ralls
d7c05a90a0 Bug 797697 - Enable DEP and ASLR for the Windows build
Added hardening flags.
2020-04-22 11:34:45 -07:00
Geert Janssens
954c1a001d Convert gncmod-html module into ordinary shared library gnc-html
The module wasn't being used.
2020-04-19 21:23:22 +02:00
John Ralls
7d39ccc9d7 Release GnuCash 3.10 2020-04-11 14:30:22 -07:00
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