Commit Graph

244 Commits

Author SHA1 Message Date
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
John Ralls
bb2ee92961 Re-release 2.6.17
This time with the version number in CMakeLists.txt updated too.
2017-07-01 17:10:09 -07:00
John Ralls
4b73bb5c50 Merge branch 'maint' 2017-06-20 10:26:47 -07:00
John Ralls
582edc1b31 CMakeLists.txt: Remove Apple architecture settings.
Those should be passed in as part of CFLAGS/CXXFLAGS.
2017-04-29 17:53:10 -07:00
John Ralls
b2b32e29fa Work around googletest bug 920.
https://github.com/google/googletest/issues/920, already addressed in configure.ac.
2017-04-17 11:52:44 -07:00
John Ralls
81fa7d76c4 Adjust CMAKE_C_FLAGS for better release/debug behavior. 2017-04-15 10:26:52 -05:00
John Ralls
bb0376240d Get WebKit2Gtk basics compiling and working.
Copy and register links don't work.
2017-04-14 19:21:35 +02:00
Geert Janssens
e40acf5915 Temporarily disable deprecation warnings 2017-04-14 19:21:34 +02:00
Geert Janssens
2528bfde6b Switch to building with the gtk+-3.0 toolkit 2017-03-31 14:04:31 +02:00
Geert Janssens
4888d34554 Replace all other uses of GnomeCanvas with standard gtk widgets
Most are converted to GtkLayout/GtkiDrawingArea widgets as these
most closely approach the GnomeCanvas concept.

This currently builds and runs but has the following issues still:
- item edit isn't drawn properly (margin and offset issues)
- cursor is not handled properly yet

These will be handled in subsequent commits.
2017-03-31 14:03:49 +02:00
John Ralls
509ce16add Release 2.6.16 2017-03-25 17:23:18 -07:00
Geert Janssens
8acbc41c61 Raise minimum required version of glib-2.0 to 2.40
At the same time require --std=gnu11 instead of --sdt=gnu99.

This allows us to drop some conditionals is several places. I've
chosen 2.4 as that is the version available in travis, which appears to
be the oldest platform care about. Debian stable has 2.46 in backports,
our windows environment has 2.42
2017-03-16 22:51:52 +01:00
John Ralls
744fc29680 Require ICU.
Note that Boost::regex and Boost::locale must also be built with ICU
support.
2017-03-13 11:56:33 -07:00
Geert Janssens
dcce2d79cd Remove final dependencies on GOFFICE
This was still pulled in via the now removed gnc-csv-model.
In order to remove this, the fixed format csv importer
has been tweaked to get the required features from
the c++ csv importer code instead.
2017-02-20 17:54:09 +01:00
Geert Janssens
ed7b863d8f Introduce base class for parsing importable files
This base class takes care of the common things like
file opening and character set conversion.
The actual interpretation of the contents will be
delegated to specialized child classes.

Effective c++ note: explicitly declare special member functions
2017-02-20 17:41:34 +01:00
Geert Janssens
659c96eb1b Optionally locate boost via environment variable BOOST_ROOT
This was already the case for our autotools based build
and simplifies the build setup for our Windows build system.
2017-02-02 18:48:15 +01:00
Geert Janssens
4fdacb9b2a Fix building gtest library on mingw
See https://github.com/google/googletest/issues/893
2017-02-02 18:31:54 +01:00
Geert Janssens
0a8d7a2142 Make google test framework a mandatory build dependency
All c++ unit tests will be written with it, and testing
should be possible out of the box.
We could make it optional, but then lots of tests will
be skipped. This creates an illusion of all tests passing
while many are simply not run. This confusion should be
avoided.
This change depends on a second commit for the windows build
in the gnucash-on-windows repository. This commit will be
pushed at the same time.
2017-02-02 17:20:43 +01:00
Geert Janssens
695065a0aa Merge branch 'maint' 2017-01-23 12:03:00 +01:00
klemens
2a97675bee spelling fixes 2017-01-23 11:50:00 +01:00
John Ralls
1ef17e6e16 Release 2.6.15 2016-12-17 11:11:56 -08:00
Geert Janssens
e4bb9b70f8 Merge branch 'maint' 2016-11-24 14:19:50 +01:00
John Ralls
6695ef9585 Bug 769124 - Australian (GMT-10) OFX transactions imported have previous days date.
Fix on Windows, where the test failed to build.
2016-10-20 10:40:18 -07:00
John Ralls
d8711619ce Merge branch 'maint' 2016-09-17 17:09:51 -07:00
John Ralls
84d15a266a Fix version in CMakeLists.txt. 2016-09-17 14:40:59 -07:00
John Ralls
876f57ef4f Australian (GMT-10) OFX transactions imported have previous days date
The fundamental problem is https://sourceforge.net/p/libofx/bugs/39.
Work around it by detecting it at configure time and if present check
to see if the time in question is not daylight time. If that's the case,
determine the daylight time offset and add it back to the timestamp.
2016-09-11 14:48:24 -07:00
Rob Gowin
78ef933e44 CMake improvements for SWIG handling and Python bindings.
* Add ability to either create SWIG C files or use generated ones
  depending on BUILDING_FROM_VCS.

* Add complete support for compiling Python bindings using
  WITH_PYTHON=YES.

* Add CMakeLists.txt files to a couple more directories.
2016-08-30 18:12:49 -05:00
John Ralls
806be3e1d9 Suppress the console window on launch when building with CMake on MSWin. 2016-08-20 20:14:34 +00:00
John Ralls
992f3232ee Adjust CMAKE_C_FLAGS for better release/debug behavior. 2016-08-09 14:07:36 -07:00
John Ralls
f0d4a9719a Merge branch 'maint' 2016-07-16 13:23:42 -07:00
Rob Gowin
fa8723ea6d Fixes to get CMake "MinGW Makefiles" generator to work.
* CMakeLists.txt: Give CMake a hint about where to find pod2man
     based on where it found perl.

   * src/cmake_modules/GncConfigure.cmake: Protect GNC_HELPDIR in
     quotes for cases where it contains spaces (like "C:\Program Files"
     on Windows).
2016-07-16 14:12:58 -05:00
John Ralls
6252fcf1ae Merge branch 'maint' 2016-07-15 15:18:59 +00:00
Rob Gowin
2c268ba09c Allow HTMLHELP_DIR to be specified on cmake command line 2016-07-14 21:05:32 -05:00
John Ralls
43a7cd096e Merge branch 'maint' 2016-07-08 16:36:10 +00:00
John Ralls
6ad8ff3b4e Tweak version.cmake to work on Windows.
Cmake's execute_process doesn't use a shell unless you tell it to.
2016-07-08 16:35:39 +00:00
John Ralls
344de4eb37 Merge branch 'maint' 2016-07-03 08:53:04 -07:00
John Ralls
6a81738e96 Don't override optimization flags in CMakeLists.txt. 2016-07-02 16:12:56 -07:00
John Ralls
5547337e05 Enable Google Tests under CMake. 2016-07-01 15:01:11 -07:00
John Ralls
ddf84d0725 Release 2.6.13 2016-06-25 12:04:40 -07:00
John Ralls
d3933f7c83 Bump CMake version to current. 2016-06-23 09:41:48 -07:00
Geert Janssens
b92eff265a Avoid variable redefined errors for _FORTIFY_SOURCE
I ran into this on sabayon linux while trying the cmake build
2016-06-02 18:49:23 +02:00
John Ralls
94ca78025e Fix up boost regex linkage issues on non-OSX platforms. 2016-05-21 11:04:12 -07:00
Rob Gowin
c739f4fae4 CMake: Don't try to install COPYING file that does not exist. 2016-04-21 08:36:03 -05:00
Geert Janssens
175d404a1b Merge branch 'maint'
Resolved conflicts:
	src/core-utils/gnc-features.c
	src/core-utils/gnc-features.h
	src/engine/test/CMakeLists.txt
	src/gnc-module/test/test-dynload.c
	src/import-export/import-match-map.c
2016-03-10 15:52:02 +01:00
RobGowin
6e50516c1d cmake - Increase test pass rate on Windows 2016-02-01 18:29:34 +01:00
RobGowin
0031478d86 Fix CMake build after maint merge 2016-01-26 12:13:49 -06:00
John Ralls
7f65a3356e Merge branch 'maint' 2016-01-26 09:30:00 -08:00
RobGowin
326f3cc0a2 Remove extra symlink command
* Remove symlink command that is now done a few lines later.
* Relocate comment.
* Do not install INSTALL (not needed) and COPYING (linked/copied elsewhere).
2016-01-25 09:35:48 -08:00
RobGowin
42e5dd5c8c cmake - Add ability to run tests under CMake 2016-01-24 19:54:33 -06:00
John Ralls
290232e2cb Merge branch 'maint'
Fixes breakage of Windows master build by not trying to link on Windows.
2016-01-15 10:03:24 -08:00
RobGowin
88a1d1412a Tweak handling of COPYING file
* Fix symlink to not escape local directory
* Copy instead of link for Win32
* Remove COPYING and INSTALL from maint branch
2016-01-15 09:59:55 -08:00
RobGowin
53b7c51632 Support CMake 3.0 for Debian Jessie 2016-01-14 09:58:29 -08:00
John Ralls
9494219603 Merge branch 'maint'
Link LICENSE to COPYING.
2016-01-12 16:22:57 -08:00
John Ralls
584161c97b Link LICENSE to COPYING, don't install INSTALL.
The original plan was to duplicate exactly what automake does, but
we don't really want to do that. Automake installs the GPLV3 COPYING
which we don't use--LICENSE is the GPLV2 version--and INSTALL is the
autotools procedure that doesn't make sense for a cmake build.
2016-01-12 16:18:31 -08:00
John Ralls
52df775ada Merge branch 'maint'
Reconcile the cmake build.
2016-01-12 16:14:46 -08:00
Rob Gowin
448148681f CMake build changes for maint
* Rename various .cpp files back to .c

* Carry copy INSTALL and COPYING from autotools.

* Fix unrelated issue with installing quote scripts.
2016-01-12 14:47:11 -08:00
Rob Gowin
1d474968ca Add ability to build GnuCash with CMake
Backported from master.
2016-01-12 14:47:11 -08:00
John Ralls
18011a6486 Add dialog-imap-editor to CMakeLists.txt. 2016-01-12 14:37:58 -08:00
Rob Gowin
34c314aa48 Add ability to build GnuCash with CMake 2015-12-09 13:25:49 -06:00
Rob.Gowin
05f08f330d Clean up bitrot to get CuteCash building again.
1. Use guile-2.0 instead of guile-1.8.
2. Set GNC_PLATFORM_POSIX on Unix (for gnc_timezone.cpp).
3. Pass guile include files when compiling cutecash.
4. Link Boost libraries.
5. Add -std=gnu99 to CMAKE_C_FLAGS.
6. Temporarily put -O2 in CMAKE_C_FLAGS since Fedora requires
    optimization for FORTIFY_SOURCE.  (Eventually with CMake
    we will have separate Debug and Release builds.)

Tested that cutecash builds and launches on OS X, Fedora 23 and Ubuntu 14.04.3.
2015-11-07 15:01:05 -06:00
Christian Stimming
ea38f2b8e6 Merge branch 'maint' 2015-04-22 22:40:48 +02:00
Christian Stimming
e9b6ee74ad Cutecash: Switch from guile to xml to manage our iso-currencies source file
Copies 87520cdde4 into the cmake build system.
2015-04-22 22:39:47 +02:00
Christian Stimming
c37fa6f8b0 CMake: Update build system to build again. 2014-08-29 21:55:12 +02:00
John Ralls
34a7e8d62c Add Boost requirement to CMake. 2014-06-16 11:03:45 -07:00
Christian Stimming
77471eb70b Cutecash: Adapt to compiler/linker flags that are needed on Ubuntu 13.10
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23411 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-11-18 08:00:44 +00:00
Christian Stimming
1c6debfd8a [Cutecash] Update libxml2 include path lookup.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@21749 57a11ea4-9604-0410-9ed3-97b8803252fd
2011-12-19 11:37:36 +00:00
Christian Stimming
e08bea1336 [Cutecash] Prepare cutecash for integration of the glibmm wrappers of the engine objects.
This would be an excellent test case for those wrappers...

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@21485 57a11ea4-9604-0410-9ed3-97b8803252fd
2011-10-24 07:59:30 +00:00
Christian Stimming
845fe0d435 Cutecash: Add cmake files for import module and for aqbanking module.
However, this couldn't really re-use all non-GUI code because most code still
contains minor gtk bits here and there. But in the long run much more
code might be available.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@20610 57a11ea4-9604-0410-9ed3-97b8803252fd
2011-05-03 20:08:34 +00:00
Christian Stimming
7782063858 Cutecash: Fix guile check.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@20609 57a11ea4-9604-0410-9ed3-97b8803252fd
2011-05-03 19:24:49 +00:00
Christian Stimming
ab9fb65b31 Cutecash: Use pkg-config lookup of guile instead of custom macro.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@20605 57a11ea4-9604-0410-9ed3-97b8803252fd
2011-05-01 20:56:33 +00:00
Christian Stimming
7d46b5fc0e Bump required gtk version to 2.16 as discussed on gnucash-devel.
This requirement will be increased to 2.18.1 once our win32 build
is upgraded.

Following the gtk version, I increased also all the other related libraries
according to what I found here: ftp://ftp.gnome.org/pub/gnome/platform/2.26/2.26.3/sources/

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@20489 57a11ea4-9604-0410-9ed3-97b8803252fd
2011-03-26 12:50:06 +00:00
Christian Stimming
d0b8c4296e Fix cmake build after latest configure changes.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@20224 57a11ea4-9604-0410-9ed3-97b8803252fd
2011-02-02 20:31:10 +00:00
Christian Stimming
c2f070dcb8 Update newly introduced NANO version number in cmake build script as well.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@20205 57a11ea4-9604-0410-9ed3-97b8803252fd
2011-01-30 10:25:07 +00:00
Christian Stimming
6afded02b0 Cutecash: Fix config.h creation by using the #cmakedefine feature of CONFIGURE_FILE.
Finally, config.h will only be re-created if anything has changed, thus
reducing re-compiling to a minimum. This was done with instructions from
http://www.cmake.org/Wiki/CMake:How_To_Write_Platform_Checks ; however,
more of those checks (like CheckFunctionExists etc) don't work as easily as
CheckHeaderExists, so I left it at that.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@19127 57a11ea4-9604-0410-9ed3-97b8803252fd
2010-05-06 11:40:55 +00:00
Christian Stimming
a5a476ebca Cutecash: Add install and packaging rules.
Running "make package" will produce a binary package.
Running "make package_source" will produce a source package.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@19020 57a11ea4-9604-0410-9ed3-97b8803252fd
2010-04-12 19:21:14 +00:00
Christian Stimming
932eeb766d Cutecash: Compile & link SQL backend as well (but there is no GUI for this yet)
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18968 57a11ea4-9604-0410-9ed3-97b8803252fd
2010-03-27 20:27:10 +00:00
Christian Stimming
eba463bb30 Add src/calculation and src/app-utils to cmake build system.
app-utils is needed for the conversion from and to string
for gnc_numeric, date, and other values.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18905 57a11ea4-9604-0410-9ed3-97b8803252fd
2010-03-14 21:01:32 +00:00
Christian Stimming
4212c0c786 Cutecash: Enable entering of more cells in register. Some code cleanup. Add class documentation.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18890 57a11ea4-9604-0410-9ed3-97b8803252fd
2010-03-11 21:59:45 +00:00
Christian Stimming
657e58a5c4 Cutecash: Fix guile version number query. Patch by Herbert Thoma.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18861 57a11ea4-9604-0410-9ed3-97b8803252fd
2010-03-06 21:42:39 +00:00
Christian Stimming
31fe219109 Cutecash: Fix CMakeLists for change in guile lookup, r18846
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18849 57a11ea4-9604-0410-9ed3-97b8803252fd
2010-03-06 11:00:54 +00:00
Christian Stimming
650b6ffa10 Cutecash: Add version check for guile and define HAVE_GUILE18 if appropriate.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18846 57a11ea4-9604-0410-9ed3-97b8803252fd
2010-03-05 20:41:40 +00:00
Christian Stimming
57f38d14ea Cutecash: Allow older glib versions as well.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18843 57a11ea4-9604-0410-9ed3-97b8803252fd
2010-03-05 20:31:31 +00:00
Christian Stimming
dffacfefc7 Finish cmake build system for the C++ experiment.
To build this:

mkdir build-cpp
cd build-cpp
cmake ..
make
./src/gnc/cutecash

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18815 57a11ea4-9604-0410-9ed3-97b8803252fd
2010-03-04 17:48:36 +00:00