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.
(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.
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.
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.
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.
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.
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.
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.
It will now first check for an environment variable GNC_SHELL and use
that if it exists. Then hardcode a shell if cmake detects the old
mingw environment (not mingw64), and finally fall back to cmake's
built-in method of finding bash.
This requires a fix in gnucash-on-osx for the build on that platform
to continue to work: on that platform, we should set GNC_SHELL
before starting the build. A patch has been submitted to do that
automatically for the user.
This version is available for all supported platforms and distros
(CentOS can have a version via EPEL, which is required anyway)
Advantages:
- one cmake version for all platforms
- we can drop all conditions based on cmake version
This reverts commit aa53c23239, reversing
changes made to 3c946a8449, because
aa53c23 was based on master and so undid other changes made to maint
since the last merge-to-master.
Requires Gwenhywfar >= 4.9.99 and AQBanking >= 5.3.4, the versions
just before the ones provided by Ubuntu 14.04LTS
Removes all definitions and ifdeffed code for earlier versions.
Removes the never-completed SEPA character checking that was if-zeroed.
Remove old (non-SEPA) online transaction code, because now in 2019
the banks will only offer SEPA transactions and no others. This
in turn means we don't need the old ktoblzcheck checking functions
at all, hence I remove this dependency completely.
We're about to announce our own set of deprecated functions in libgnucash.
That would be pretty pointless if we also would silence all deprecation warnings
at the same time...