Commit Graph

332 Commits

Author SHA1 Message Date
John Ralls
3ec00f5275 Merge branch 'maint' 2019-05-16 11:29:14 -07:00
Frank H. Ellenberger
a63adac4c5 Rise minimum required CMake version for Linux to 3.2
This will allow us to use modules like FindIntl.
https://lists.gnucash.org/logs/2019/05/14.html#T17:32:19
2019-05-15 00:18:25 +02:00
Frank H. Ellenberger
29f605bd1b Move I18N modules in one section of CMakelists.txt 2019-05-14 23:44:18 +02:00
Frank H. Ellenberger
7cb4c1d7b1 Cleanup of no longer used Gettext flags
We don't need HAVE_GETTEXT conditional code
2019-05-14 23:44:18 +02:00
Frank H. Ellenberger
6b0f3ce641 Unify optionally required Python version - PR #481 supplement 2019-05-14 04:24:26 +02:00
John Ralls
2c637a9714 Put the version back to 3.900. 2019-04-28 10:53:17 -07:00
John Ralls
5311e5a386 Revert "Merge T Edmunds's 'amortization-rounding' into maint."
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.
2019-04-25 13:19:28 -07:00
John Ralls
3ddd76f8f2 Merge branch 'maint' 2019-03-31 10:43:33 -07:00
John Ralls
76a91aa2c3 Release GnuCash 3.5 2019-03-30 14:43:38 -07:00
John Ralls
d8c6af2d65 Remove support for ancient versions of AQBanking.
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.
2019-03-28 12:41:08 -07:00
Christian Stimming
dac94ce038 Remove ktoblzcheck dependency.
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.
2019-02-13 11:26:39 +01:00
John Ralls
614932eda5 Merge branch 'maint'. 2019-01-15 09:44:14 -08:00
John Ralls
efee68a315 Release GnuCash 3.4 2018-12-30 07:38:18 -08:00
Geert Janssens
74ed802eae Show warnings for deprecated declarations
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...
2018-12-27 22:25:18 +01:00
John Ralls
6eba0d4940 Merge branch 'maint' 2018-11-30 17:32:58 +09:00
John Ralls
5dcb44d991 Fix regex in CMakeLists.txt.
Apparently CMake doesn't handle backslashes well and \.
doesn't work in spite of its being an example in the documentation.
2018-11-30 16:40:35 +09:00
John Ralls
e434835f68 Remove special Apple compile flags, no longer required. 2018-11-30 16:23:30 +09:00
John Ralls
3f09e5c6f1 Only disable register warnings for SWIG 2.
SWIG 3 has removed the register storage class markers.
2018-11-30 16:11:42 +09:00
Frank H. Ellenberger
51b96ec3e5 Update package URLS
We don't want bug mails to devel.
(missed port from autotools)
2018-11-03 05:39:02 +01:00
John Ralls
ab1070ebca Adjust no-register CXXFlag.
To account for different flag on some versions of Clang.
2018-10-28 13:23:38 -07:00
John Ralls
7706fff3c9 Merge branch 'maint' 2018-09-29 16:50:55 -07:00
John Ralls
65c8357f53 Release 3.3 2018-09-29 16:05:55 -07:00
John Ralls
766dc9b2d5 CMake: Test for & set WORDS_BIGENDIAN, set _GNU_SOURCE.
Got lost in transition from autotools.
2018-09-17 17:42:53 -07:00
Geert Janssens
4c87dd05ec Fix compiler warning issues
- add -Wno-deprecated-declarations to CXX_FLAGS as well. This was
  reported by vorlonofportland in PR#401 to become necessary for glib 2.58
  as that has deprecated g_type_class_add_private which appears in our
  c++ code.
- change -Wno-deprecated-register into -Wregister. The former appeared to
  be a clang dialect and alias for the latter (see
  https://github.com/Barro/compiler-warnings for an overview of clang
  and gcc warnings). It was moved to global CXX_FLAGS as it can only be
  added for g++.
2018-09-01 12:07:38 +02:00
Geert Janssens
54a5097c60 Bug 796777 - CVE-2008-1391: Integer overflow in included strfmon function
We only used strfmon in one source file to generate three fixed format
strings. Instead of updating to a newer strfmon in borrowed I have
chosen to reimplement the string formatters for these strings in C++.
Note this is *not* a full c++ conversion of the full functionality
of assistant-loan. Only the string parsing has been redone.
2018-08-17 16:23:12 +02:00
John Ralls
22dd716b58 Set the SWIG minimum version to 2.0.11 now that we require Guile-2.0. 2018-08-10 12:57:46 -07:00
John Ralls
accd154eb0 Don't run test-stress-options.scm if no textual-ports.
ice-9 textual ports, required by test-stress-options, was introduced
in guile 2.2. We still support using guile-2.0.
2018-07-27 15:58:46 -07:00
John Ralls
5d80a52eaa Release GnuCash 3.2 2018-06-24 11:09:08 -07:00
Benjamin Gordon
8cae602e66 Add support for libsecret to cmake
gnucash has historically supported storing passwords for database
backends with libsecret when HAVE_LIBSECRET is defined. The code is
still present, but support for detecting libsecret's availablity was not
ported over when the build system was converted to cmake.  This change
restores the missing detection.
2018-06-13 21:13:21 -06:00
Potuz
e3e1464a01 Bug 794617 - Can't compile with -DWITH_GNUCASH=NO due to scm-gnome-utils
Pricedb.go doesn't need gnc-gnome-utils and we don't need WebKit or
gwenhywfar-gtk3 if we have no GUI.
2018-06-07 14:17:49 -07:00
John Ralls
a97f9faf91 Revert "Merge Keve Mueller's 'xea-fixes' into maint"
This reverts commit eb67baba5b, reversing
changes made to 0064dafbad.

Keve Mueller's xea-fixes branch was made from master, so merging it into
maint effectively merged master onto maint, not something we want to do.
2018-06-04 13:46:23 -07:00
John Ralls
eb67baba5b Merge Keve Mueller's 'xea-fixes' into maint 2018-06-03 10:26:52 -07:00
Ryan Schmidt
075021a88d
Fix build on case-sensitive filesystems 2018-05-26 11:45:45 -05:00
Geert Janssens
61071b9f6d Merge branch 'maint' 2018-05-12 14:10:38 +02:00
Geert Janssens
2e53d64726 Work around gtk warnings with gcc 8.0 2018-05-09 22:18:29 +02:00
Geert Janssens
1f3cf845c4 Work around a conflict between gcc 8.0 and swig 3.0
The swig 3.0 generated python wrappers trigger a warning converted into an error issued
by gcc 8.0 for using strncpy as follows:
strncpy(buff, "swig_ptr: ", 10);
The reason is this call will truncate the trailing null byte from the string.
This appears to have been fixed in swig master already but that's not released yet
so let disable the warning when compiling the swig wrappers until it is.
2018-05-09 22:18:29 +02:00
Geert Janssens
52ac539d23 Merge branch 'maint' into master
Handle conflict between version number reset and lowercasing all commands
2018-05-04 10:25:38 +02: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
John Ralls
6be7e82b9f Restore version in CMakeLists.txt.
Didn't raise a conflict in the merge for some reason.
2018-04-29 11:50:17 -07:00
John Ralls
6645d93f9a Release GnuCash 3.1 2018-04-28 14:33:04 -07:00
Di Mang
cf24f9830b
Remove GNUCASH_MICRO_VERSION from VERSION...
and remove of variable CPACK_PACKAGE_VERSION_PATCH
2018-04-04 23:11:13 +02:00
John Ralls
c6858e3e01 Release GnuCash 3.0 2018-04-01 13:22:49 -07:00
John Ralls
042476f4b4 Compile our own gwen-gtk3 if the supplied one is 4.20.0.
This is a bit brittle because it depends on Martin Preuss applying our
patch (already applied to borrowed/gwen-gtk3) before releasing 4.20.1,
but creating a proper test for the changes proved to be too difficult.
2018-04-01 10:25:57 -07:00
John Ralls
dc6d86efdb Convert to a two-digit version number. 2018-03-31 18:00:15 -07:00
John Ralls
dfb5de91ff Release 2.7.8. 2018-03-25 12:37:11 -07:00
John Ralls
6cce41b0d1 Actually change CMakeLists.txt for the release. 2018-03-18 13:27:21 -07:00
luc14n0
a893a632e9 Add COMPILE_GSCHEMAS to allow disabling gschemas compilation 2018-03-18 12:30:13 -07:00
Julian Wollrath
a43b115a45 Bug 791831 - Add python3 support
This switches swig to use python 3 specific features when generating the
bindings, switches the build over to python 3 and makes the neccesary
python 2 to 3 conversions in the bindings and tests.
2018-03-17 15:10:00 -07:00
John Ralls
85ec07ec30 Revert "Add COMPILE_SCHEMA to allow disabling gschema compilation"
This reverts commit 6b46299e8d, which was
pushed by mistake.
2018-03-17 14:56:37 -07:00
luc14n0
6b46299e8d Add COMPILE_SCHEMA to allow disabling gschema compilation 2018-03-17 00:14:25 -03:00
John Ralls
4a8c2645b4 Release 2.7.6 2018-03-11 22:23:32 -07:00
John Ralls
8c9855a6bb Pass GTEST_ROOT and GMOCK_ROOT through to distcheck.
So that they don't have to be exported in the environment if they're needed.
2018-03-11 10:38:05 -07:00
John Ralls
10b7cbc257 Fix boost linking problem on Unbuntu 14. 2018-03-09 16:24:16 -08:00
Guy Taylor
41d79f4ef3 Fix CPack package version number
Currently running "ninja-build package" produces a file with and incorrect
version number. This patch passes the CMake version variables into CPack to get
the correct filename.

Old "gnucash-0.1.1-Linux.tar.gz" new "gnucash-2.7.5-Linux.tar.gz"
2018-03-05 15:38:41 +00:00
Geert Janssens
b71c346ef5 Fix typo: should read 'older version of gettext' rather than 'older version of gnucash' 2018-02-28 16:48:49 +01:00
Geert Janssens
02c69a7933 Handle situation where gettext 0.19.6 is not available
By default we require gettext 0.19.6 as this is needed to generate a translated version of gnucash.desktop and gnucash.appdata.xml.
However this version is not available on some platforms (most notably our own ubuntu 14.04LTS travis instance).
By setting ALLOW_OLD_GETTEXT=ON, the build configuration falls back to generating untranslated versions of said files instead.
2018-02-27 22:38:27 +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
John Ralls
749beb197d Release GnuCash 2.7.5 2018-02-24 15:41:20 -08:00
Christopher Lam
578e9860d0 Add optional testing group for srfi-64
This adds an optional group to CMakeLists for
systems with SRFI-64 included.
2018-02-23 18:19:59 +08:00
John Ralls
f4965ae2ac Move direct check dependencies to the originating CMakeLists.txt.
Removing transitive dependencies from being declared direct.
2018-02-18 22:16:27 -08:00
John Ralls
ae6d2a2340 ADD_DEFINITIONS is obsolete for setting C/CXXFLAGS.
And setting -O0 in a debug build is unnecessary, that's the default.
2018-02-13 16:47:20 -08:00
John Ralls
da0df1c48d Bug 792883 - cmake: no way to turn off -Werror
Prepend settings to CMAKE_C_FLAGS and CMAKE_CXX_FLAGS so that values
supplied on the command line can override the fixed settings.
2018-02-13 14:11:44 -08:00
John Ralls
0912a5eaa1 Don't force-set Boost_USE_STATIC_LIBS or Boost_USE_STATIC_RUNTIME.
If you need to do that for your build pass the values in on the cmake
command line.

As for all of the noise about Boost's install name if APPLE, just fix it
with the install name tool. There are instructions at the boost module
in gnucash.modules.
2018-02-12 14:00:09 -08:00
John Ralls
c9a17236b9 Release 2.7.4 2018-02-03 08:44:34 -08:00
John Ralls
e6edb9d8e7 [MacOS]Conditionally set -Wno-unused-local-typedef and -Wno-unknown-attributes.
These flags aren't defined until Xcode8.
2018-02-03 08:07:15 -08: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
1805972646 Revert "Allow user to override BUILDING_FROM_VCS"
This reverts commit ec9d5feba1.

This doesn't do what I had in mind. I'll come up with a
better solution shortly.
2018-01-30 21:24:39 +01:00
Geert Janssens
ec9d5feba1 Allow user to override BUILDING_FROM_VCS 2018-01-30 19:21:39 +01:00
Geert Janssens
f319a8e2a4 Re-enable building a dist tarball from within distcheck 2018-01-29 19:46:44 +01:00
Geert Janssens
ec213360f3 Review which built files are really needed in the dist tarball
Several were only there because they used to be generated via autogen.sh
and hence had to be included because autogen.sh was not supposed to be run
in a tarball based build.
A few others aren't clear so I have left them in for now:
- gnucash.1 (man page)
- gnucash-design.info (because it's unclear what we want to do with that one)

These files should clearly be in the tarball:
- gnucash.pot -> for our translators
- ChangeLog -> can't be generated outside of a git repo
- gnc-vcs-info.h -> can't be generated outside of a git repo
- guile/python bindings -> to avoid a swig dependency when building from tarball
2018-01-29 19:46:44 +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
1258a2adfd Make potfile generation a custom target, and make the dist target depend on it 2018-01-29 19:46:44 +01:00
Geert Janssens
b12a6cf4d2 Revert "Partially revert commit 85bfbd8e8258e"
This reverts commit b6aae75317.

I was mistaken. We still need po/make-gnucash-pot.sh.in, not
make-gnucash-potfiles.in...
2018-01-29 19:46:44 +01:00
John Ralls
83128e2f1d Fix Webkit1 configuration for Windows Builds. 2018-01-27 16:42:56 -08:00
Geert Janssens
b6aae75317 Partially revert commit 85bfbd8e82
make-gnucash-potfiles.in is still needed after all
2018-01-27 14:13:06 +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
John Ralls
1fc46fe140 Fix some dependency-checking failures.
Thanks to Robert Merkel for reporting them.
* Build gnucash-design.info if makeinfo is available, but don't complain
  if it isn't.
* Fail Cmake if LibXSLT and xsltproc aren't found. Those are required to
  build the gschemas and GnuCash won't work without them.
* Fix the WebKit detection so that it isn't faked out into thinking it has
  WebKit2Gtk-4.0 when it's WebKit2Gtk-3.0 and cmake is run with a
  CMakeCache.txt present.
2018-01-23 16:04:28 -08:00
Rob Gowin
54ac7f23e0 Remove Autotools 2018-01-13 12:52:57 -06:00
John Ralls
310442ffe6 Update ChangeLogs for the new year. 2017-12-31 08:51:21 -08:00
John Ralls
ac05578ba5 Release GnuCash 2.7.3 2017-12-30 16:00:22 -08:00
John Ralls
7feb9c65cf Fix distcheck errors. 2017-12-30 13:40:14 -08:00
John Ralls
8ae330c804 Another attempt to make Travis's g++ happy about compiler warnings. 2017-12-26 21:38:59 -08:00
John Ralls
44fc5b0555 Fix CXX Flags for g++. 2017-12-26 18:23:09 -08:00
John Ralls
91727525b9 Enforce -Werror on C++ files and fix resulting errors. 2017-12-26 15:18:43 -08:00
Geert Janssens
f11eab36d9 Replace GNC_CONFIGURE(2) with configure_file 2017-12-23 14:07:25 +01:00
John Ralls
6e9025d2f9 Don't build borrowed/gwengui-gtk3 if its provided by gwenhywfar. 2017-12-22 10:26:31 -08:00
Geert Janssens
3d910ad2b1 Drop guile 1.8 support
And with it all quirks we still had in the code to support that version.
2017-12-20 14:55:40 +01:00
Geert Janssens
a784dd5784 Add support for guile 2.2 2017-12-20 14:55:40 +01:00
Robert Fewell
0186bc1c0c Change the relative path to a full one for rpath 2017-12-19 15:40:33 -08:00
John Ralls
0026b10851 Merge branch 'maint' into unstable 2017-12-17 13:00:00 -08:00
John Ralls
c1b5e6c8df Release 2.6.19 2017-12-16 15:28:56 -08:00
John Ralls
c0659c8e2b Bug 791422 - gnucash 2.7 no longer opens sqlite3...
as it doesn't load proper backend.
The cause was that the libdbi-driver path in CMakeLists.txt was wrong
and GNC_DBD_DIR was being set unconditionally in etc/gnucash/environment
with an invalid path.
2017-12-10 12:51:24 -08:00
John Ralls
66817bb997 Rework directory determination in CMake builds.
Sets paths for finding componenents depending on the state of ENABLE_BINRELOC,
GNC_UNINSTALLED, GNC_BUILDDIR and whether any install paths have been set
outside of CMAKE_INSTALL_PREFIX.

GNUInstallDirs changes the name of CMAKE_INSTALL_LIBDIR depending on the
operating system and distro. When CMAKE_INSTALL_PREFIX is /usr,
/usr/local, or any subdirectory of /opt it also changes
CMAKE_INSTALL_FULL_SYSCONFDIR to /etc. An earlier commit by Aaron Laws
mirrors the name of CMAKE_INSTALL_LIBDIR to the build library directory.

It's possible for builders to set any of the install directories
anywhere they please.

Setting any directory outside of CMAKE_INSTALL_PREFIX breaks Binreloc so
the toplevel CMakeLists.txt now detects that and disables Binreloc.

If Binreloc is enabled then all path queries use it to find paths. This
works in the build directory because the gnucash executable and all of
the test programs are in build_directory/bin and LIBDIR, DATADIR, and
SYSCONFDIR can be found in the same root path.

If Binreloc is disabled then in order to build or run programs from the
build directory one must set GNC_UNINSTALLED and set GNC_BUILDDIR to the
absolute path of the build directory. When those are set GNC_BUILDDIR
replaces CMAKE_INSTALL_PREFIX in all paths that are subdirectories of
CMAKE_INSTALL_PREFIX; paths that are not in CMAKE_INSTALL_PREFIX are
appended whole to GNC_BUILDDIR. This process is constent between CMake
and gnc_path_get_foo. GnuCash is unlikely to run from a DESTDIR without
Binreloc.
2017-12-05 17:25:52 -08:00
Rob Gowin
9dcb2037ad Partial fix for Bug 787497 - Disabling options cripples dist package
WITH_OFX, WITH_SQL and WITH_AQBANKING handling is fixed. The
dist files for these features are always included in the dist
tarball.

I added code for WITH_GNUCASH=OFF to error out when trying to
create a dist tarball. Not fully tested because WITH_GNUCASH=OFF
itself does not build.

Still need to backport fixes from unstable for WITH_PYTHON=OFF.
2017-12-02 17:59:40 -06:00
Rob Gowin
778b86e29e Handle cases where LIBDIR is not "lib"
For example, Fedora installs to lib64, Debian to lib/<arch-tuple>
2017-12-01 17:00:39 -06:00
John Ralls
9b0a8723a4 More GNUInstallDirs path fixes. 2017-12-01 13:56:52 -08:00
John Ralls
a5bf4e00a4 Merge Aaron Laws's 'unneeded-build-flag' into unstable 2017-11-28 15:16:36 -08:00
John Ralls
5204100d53 Use GNUInstallDirs in CMake Builds
Provides correct file layout when building distribution tarballs.
Fixes Bugs 790840 and 790841.
2017-11-28 14:25:35 -08:00
lmat
04a4849967 Removing unneeded build flag from docker 2017-11-28 16:09:23 -05:00
John Ralls
0afef080a7 Release 2.7.2 2017-11-25 16:35:44 -08:00
John Ralls
49c70795c3 Remove X11 error handler
And with it the only direct X11 dependency.
2017-10-31 08:53:20 -07:00
John Ralls
9669bd6b6c Release 2.7.1 2017-10-29 14:01:15 -07:00
John Ralls
e959822817 Don't copy ChangeLog on a tarball build.
There's no reason to and besides it breaks in-source builds
because trying to copy onto itself raises an error.
2017-10-28 14:21:39 -07:00
Geert Janssens
1a8cf021d2 Add GNUCASH_BUILD_ID cmake/configure variable which allows packagers to define their own
For example distros may want to set the version of their package source (rpm, dpkg,...) rather than
our git id.
2017-10-26 22:48:50 +02:00
John Ralls
a300304354 Fix Windows crash-on-throw.
Thanks to https://stackoverflow.com/questions/46688200/mixing-c-and-c-causing-exceptions-to-terminate
2017-10-26 12:38:50 -07:00
John Ralls
91a2ee4525 [MacOS] Change CMake installed names to absolute paths from @rpath/...
gtk-mac-bundler can't access the executable's rpath list so it can't
follow dependencies if they're not in $install_dir/lib from @rpath.
Autotools always sets absolute path install names so this should have no
adverse affects on other Mac builds.
2017-10-15 13:22:29 -07:00
John Ralls
14eafd8a1d Build Macs with WebKit1.
Temporarily, I hope. Javascript isn't working with WebKit-2.16 but does
with WebKit 2.4.11 and I don't want to hold up releasing 2.7.0 any longer.
2017-10-14 14:31:23 -07:00
Geert Janssens
545b24fe97 Merge branch maint into unstable
Resolved conflicts:
2017-10-05 16:29:36 +02:00
fell
a28f27a0e1 Fix a typo in gir error message 2017-10-03 19:42:32 +02:00
John Ralls
3a9fbb899e Release 2.6.18 2017-09-22 15:12:59 -07:00
John Ralls
0004a44f5f Release 2.7.0 2017-09-16 18:09:47 -07:00
John Ralls
350dd690fd Install the current, 2015, and 2016 ChangeLogs. 2017-09-16 10:15:13 -07:00
Geert Janssens
37ecf56fbb Merge branch 'maint'
Resolved conflicts:
	bindings/python/tests/CMakeLists.txt
2017-09-12 13:48:01 +02:00
Rob Gowin
6ec9aa362b Fix issues with loading and running init.py 2017-09-11 16:09:57 -05:00
John Ralls
5b2439e7c9 Set -xobjective-c or -xobjective-c++ for Mac code depending compiler.
Also require at least Cmake-3.3 for Apple as that's the minimum that
supports the COMPILE_LANGUAGE generator expression.
2017-09-06 22:24:19 -07:00
John Ralls
77d5d6380b Install the current, 2015, and 2016 ChangeLogs. 2017-09-06 11:44:55 -07:00
John Ralls
48365a923d Remove set target property on no-longer-extant gncmod-utility-reports target. 2017-08-31 12:20:08 -07:00
John Ralls
1d4dc42a3f Fix poor error message on missing guile and make it fatal. 2017-08-31 12:20:07 -07:00
John Ralls
e798d6bd25 Remove references to special HTMLHELP directory.
In Mingw64 build we put the Html Help Workshop files in the
appropriate mingw directories.
2017-08-31 12:20:07 -07:00
Geert Janssens
e732ff9432 Fix FIND_PROGRAM invocation for guile 2017-08-31 16:15:19 +02:00
Geert Janssens
64309e4e88 Set the same minimum required gtk version for cmake and autotools
3.10 is what Ubuntu 14.04 (Trusty) ships with and that's the
most recent on Travis. So we can't require a more recent version
for now.
2017-08-31 15:41:32 +02:00
lmat
048b8e37a1 Clear up guile2 vs. guile cmake confusion 2017-08-29 13:58:31 -04:00
Geert Janssens
ae75bc963f Rewrite several file path routines to use boost::filesystem
This is a basis for moving .gnucash to a more modern location for
application specific user data (following the xdg spec).
2017-08-26 21:38:21 +02:00
John Ralls
2ee5b202bf Temporarily include building libgwengui-gtk3 in GnuCash.
Revert this commit when it's widely available in distributed packages.
2017-08-25 16:39:14 -07:00
John Ralls
0f2719ced1 Convert to libgwengui-gtk3 2017-08-25 16:07:18 -07:00
Geert Janssens
f943ba61ae Rename directory for code from external projects
'lib' is also being used by the cmake build, so there was a
theoretical risk for file conflicts. The new name is 'borrowed'.
2017-08-17 15:25:49 +02:00
Geert Janssens
4ce7be0497 Drop packaging directory
While I myself asked for it to be retained a couple of years back
I now believe it really makes no sense to keep on carrying
a completely outdated rpm spec file around. This should not
be part of the source and properly up to date and maintained
rpm spec files can be found in each rpm based distro that ships
gnucash.
2017-08-12 10:13:43 +02:00
Geert Janssens
afecab330a Move accounts, checks and pixmaps into a data directory
At the same time move the art directory into contrib to unclutter the top level
2017-08-11 22:42:15 +02:00
Geert Janssens
83d14e1c1c Restructure the src directory
It is split into
- /libgnucash (for the non-gui bits)
- /gnucash (for the gui)
- /common (misc source files used by both)
- /bindings (currently only holds python bindings)

This is the first step in restructuring the code. It will need much
more fine tuning later on.
2017-08-10 18:45:00 +02:00
Geert Janssens
ffc640bada Move global definitions to toplevel CMakeLists.txt 2017-08-09 17:30:59 +02:00
Geert Janssens
9de9f5362e Drop the cutecash experiment and the gtkmm optional bindings
These are currently unmaintained, cutecash us based on the obsolete qt4
and gtkmm is only used by cutecash. Whenever someone wishes to revive
this experiment it can be recovered from git history and be brought
into a separate repository.
2017-08-09 16:09:32 +02:00
Geert Janssens
785568b0a3 Drop gtk dependency from app-utils
The resolves it's 'allmost nongui' status. Note the options code still
stores a pointer to a gtk widget but this is never used in the app-utils code
itself. This was already so before this commit and fixing this will require
more refactoring later on.

This commit also aligns the list of non-gui source directories between
cmake and autotools. This may need further tweaking in the context of
splitting the source in libgnucash and gnucash (the application)
2017-08-09 15:37:39 +02:00
Geert Janssens
708a9a4775 Make all backend loading use the same build environment module path resolution
This obsoletes some cmake hacks
2017-08-09 15:37:39 +02:00
Geert Janssens
8687dfb1da Merge qof directory into engine
They are both about handling core gnucash objects. Qof was once split out
in an attempt to make it a separate library. This hasn't worked out so there's
no good reason any more to keep this artificial separation.

A few considerations:
- The qof tests are merged into the engine test directory but they are kept as
  a separate test entity for now. Several assumptions made in the qof tests
  are no longer valid in the context of the engine. (For example if the
  pricedb test is added in the same test executable as the qofbook test,
  the book creation test fails because it now has 2 collections (pricedb and
  book) instead of only one. There are plenty of others like this so merging
  the tests needs more careful review and is perhaps best done while converting
  to c++/Google test.
- I had to use unique names for the MockBackend classes because apparently the tests were
  using a MockClass from another file in the cmake builds, causing several
  tests to fail.
2017-08-09 15:37:39 +02:00
Geert Janssens
dd99d7873f Merge business ledger into ledger-core
There's no need to have it as a separate directory
2017-08-07 18:32:18 +02:00
John Ralls
89336269d8 Check the right variable in the right version of gdk to test for a Mac build. 2017-07-31 07:29:42 +01:00
John Ralls
e41410ef25 [Mac] use gtk-mac-integration-gtk3 now that we're building with gtk3. 2017-07-23 15:51:48 -07:00
John Ralls
18ef968ff1 Detect and flag MinGW64
Got lost in the rebase and merge somehow.
2017-07-22 13:29:28 -07:00
John Ralls
0745cb9af5 Enable AQBanking by default in CMake build. 2017-07-14 14:21:07 -07:00
John Ralls
8655dbc55c Check for package webkitgtk-3.0 (webkit1 API) on Windows.
Webkit2 isn't supported on Windows.
2017-07-13 16:40:51 -07:00
John Ralls
890f69933f Set deprecated-declarations to no-error for WIN32 so that it will work with Guile2. 2017-07-13 16:40:43 -07:00
John Ralls
55a30978b3 Replace use of CMAKE_PREFIX_PATH
Because it was assumed that it contains only a single path; it's specified
to be a semi-colon-separated list of paths.
2017-07-13 16:40:42 -07:00
John Ralls
489d0513e0 Adjustments to build on mingw-64.
Note that there may be some changes here that need to be wrapped with ifdef.
2017-07-13 13:46:44 -07:00
Geert Janssens
a7f1f9cdd7 Fix build with cmake > 3.5 2017-07-09 12:45:01 +02:00
John Ralls
a6678e6a49 Allow compilation with either Webkit2Gtk-4.0 or WebKit2Gtk-3.0.
WEBKIT1 for windows is a placeholder, it will need a pkgconfig check too.
2017-07-08 15:08:07 -07:00
Geert Janssens
5405cf480c Merge branch 'gtk3' 2017-07-08 17:49:44 +02:00
John Ralls
c8402ad62e Merge CMake Distcheck from 'maint'.
Conflicts:
	CMakeLists.txt
	src/app-utils/CMakeLists.txt
	src/backend/sql/test/CMakeLists.txt
	src/backend/xml/test/CMakeLists.txt
	src/gnome-utils/CMakeLists.txt
	src/import-export/aqb/CMakeLists.txt
	src/import-export/csv-imp/CMakeLists.txt
	src/import-export/csv-imp/test/Makefile.am
	src/import-export/ofx/CMakeLists.txt
	src/import-export/qif-imp/CMakeLists.txt
	src/libqof/CMakeLists.txt
	src/register/ledger-core/CMakeLists.txt
	src/register/register-core/CMakeLists.txt
	src/register/register-gnome/CMakeLists.txt
	src/report/business-reports/CMakeLists.txt
	src/report/locale-specific/us/CMakeLists.txt
	src/report/report-gnome/CMakeLists.txt
	src/report/standard-reports/CMakeLists.txt
	src/report/stylesheets/CMakeLists.txt
2017-07-04 18:36:35 -07:00
Rob Gowin
6b14dc5b59 Implement 'dist', 'distcheck' and 'uninstall' targets for CMake 2017-07-03 16:15:17 -07:00