Commit Graph

413 Commits

Author SHA1 Message Date
Gwyn Ciesla
f7df9755fc
Update CMakeLists.txt
Co-authored-by: Yaakov Selkowitz <yselkowi@redhat.com>
2024-05-08 14:07:20 -05:00
Gwyn Ciesla
3dde9f0762 Fix python install paths 2024-04-01 15:24:02 -05:00
John Ralls
ac915f34f7 Release GnuCash 5.6 2024-03-30 15:00:10 -07:00
John Ralls
7eaa177eae Update minumum Python version to 3.8.
Required to support Python 3.13 and later because the new C API used
in 1d8c525af was introduced in Python 3.8; the previous API was a
holdover from Python 2, deprecated in 3.7, and is removed in 3.13.
2024-02-29 16:12:53 -08:00
John Ralls
b217553cf5 Replace deprecated distutils.sysconfig with sysconfig.
distutils is not present in Python 3.12.2.
2024-02-22 16:13:19 -08:00
Geert Janssens
cbf89a73be Avoid deprecation warning for -py3 in swig >= 4.1 2024-02-22 10:30:52 +01:00
John Ralls
bf460b0040 Release GnuCash 5.5 2023-12-16 12:32:57 -08:00
John Ralls
d92d97aef6 Add Scheme coverage collection with option GUILE_COVERAGE.
This can be used with or without COVERAGE, though if without the
results will reflect only the Scheme code exercised by the tests.
2023-12-08 14:55:49 -08:00
John Ralls
6834cb5025 Implement coverage option
To use pass -DCMAKE_BUILD_TYPE=Debug or Asan -DCOVERAGE=ON and build as
usual, then do ninja lcov-initialize && ninja check && ninja
lcov-collect. The result will be a directory, <Builddir>/Coverage
containing lcov tracefiles, including an aggregate file gnucash.info
which you can use for further processing. It will also report an overall summary.
Note that only C/C++ files are included.

There's one more target, lcov-generate-html, that you can run after
lcov-collect. It will generate a simple website in
<Builddir>/Coverage-HTML showing coverage by source directory (the
directories in <Builddir> have coverage for generated files). Each
directory path is a clickable link to a page that shows coverage for
each source file; the filenames link to a page for each showing which
lines have been exercised.
2023-12-08 14:53:02 -08:00
John Ralls
a3f14759ab Asan: Make leak and ODR violation reporting CMake options.
pass -DLEAKS=ON or -DODR=ON to enable these features. They have an
effect only with CMAKE_BUILD_TYPE=Asan and don't work on Apple because
Apple clang doesn't enable them.
2023-11-25 11:17:14 -08:00
John Ralls
087f135085 Add coverage option for Asan builds. 2023-11-09 15:06:15 -08:00
John Ralls
2234fa433e Add Asan build type that enables the Address and UB sanitizers.
Uses generator statements instead of CMAKE_<TYPE>_FLAGS_ASAN to support multiconfig generators like Xcode.
2023-11-02 12:58:46 -07:00
Simon Arlott
3782eed567
Use the default version of Python 3
Python scripts that run with the default version of Python 3 by executing
with /usr/bin/python3 that try to import gnucash can't find it if it has
been built for a different version.

Instead of using other installed versions of Python 3 that happen to be
present, default to using the default "unversioned" version.

It doesn't look like CMake are going to fix the default behaviour, so every
project has to do this:
https://gitlab.kitware.com/cmake/cmake/-/issues/24878
https://gitlab.kitware.com/cmake/cmake/-/issues/24126
https://gitlab.kitware.com/cmake/cmake/-/merge_requests/8287

This is only supported on CMake 3.20 or newer, so users of older versions
will still get the broken behaviour.

Use the newer default Python3_FIND_STRATEGY=LOCATION (CMP0094).
2023-10-05 20:22:25 +01:00
John Ralls
53245caebf Release GnuCash 5.4 2023-09-23 16:08:11 -07:00
John Ralls
90b9142096 [DBI backend] Change DBI test URLs to environment variables.
From cmake configuration definitions.
2023-09-21 14:33:50 -07:00
Geert Janssens
422a47fd49 Lower cmake requirement again to cater for our slightly outdated build server 2023-08-23 09:50:00 +02:00
Geert Janssens
6c99523a70 Bump minimum cmake version to 3.16
This allows to drop some conditionals for older versions
2023-08-18 18:57:00 +02:00
Geert Janssens
29b7a9099d Fix cmake warnings while searching for python
There is a new find module since cmake 3.12. Cmake 3.27 will start
emitting warnings if the old modules are still in use.

Current implementation supports both. As soon as we can bump our minimal
cmake version to 3.12, the old support code can be dropped as well.
2023-08-17 18:23:33 +02:00
John Ralls
0b3d3a5a68 Release GnuCash 5.3. 2023-06-26 09:04:59 -07:00
John Ralls
4bba18271b Release GnuCash 5.2 2023-06-24 14:47:28 -07:00
Richard Cohen
3abc9a5558 Refactor: Remove some unnecessary uses of memcpy
- Also, remove unnecessary "static" in gnucash-style.c

The second one in guid.cpp is UB:

libgnucash/engine/guid.cpp:137:5: warning: undefined behavior, source object type 'const gnc::GUID' is not TriviallyCopyable [bugprone-undefined-memory-manipulation]
        memcpy (&target, &source, sizeof (GncGUID));
        ^
2023-06-15 11:10:58 +01:00
John Ralls
9748e6f3fb Merge Monson Shao's 'check-gdk' into stable. 2023-05-25 09:02:38 -04:00
Richard Cohen
80e9d9c35d scanf supports %lld since C++11, C99 2023-05-15 13:21:30 +01:00
Monson Shao
b183c39a95
cmake: check gdk only when building GUI 2023-05-01 22:37:04 +08:00
John Ralls
43eb36c311 Release GnuCash 5.1 2023-04-30 09:10:10 -07:00
John Ralls
e9859c3f58 Merge Richard Cohen's 'improve-python-version-checking' into stable. 2023-04-10 12:08:21 -07:00
Arsen Arsenović
8afaeb1869
cmake: Try guile and guild executables from guile-N.N.pc first 2023-04-09 16:04:27 +02:00
Richard Cohen
a9a0c2104a Fix cmake 3.10 build 2023-03-30 14:29:59 +01:00
Richard Cohen
546dea75ad The minimum version of Python should be 3.6
... according to README.dependencies
2023-03-29 09:44:55 +01:00
John Ralls
50c766e973 Release GnuCash 5.0 2023-03-25 18:17:53 -07:00
John Ralls
46d3829481 Release GnuCash 4.904 2023-03-19 11:37:02 -07:00
John Ralls
d192be5307 Merge Richard Cohen's 'cleanup-cflags-deprecated' into master. 2023-03-18 10:07:25 -07:00
Richard Cohen
f826240488 Always enable deprecation warnings for glib & gtk
- Remove WARN_DEPRECATED_GLIB/GTK
2023-03-16 13:39:21 +00:00
Richard Cohen
30586ac3e6 Push -Wno-error=deprecated-declarations from C*_FLAGS down to the target 2023-03-15 10:34:14 +00:00
John Ralls
f2ba3eedb9 Release GnuCash 4.903 2023-03-11 14:58:01 -08:00
Richard Cohen
d87ee73048 Remove -Wno-pointer-sign
Add the necessary casts in gnc-gwen-guic.c
2023-03-07 11:24:57 +00:00
Richard Cohen
0f0b5e3fe7 Remove -Wno-error=parentheses
It was added for gcc 8.0 and gtk 3.14
2023-03-06 17:03:12 +00:00
Richard Cohen
44cd4c1af1 Remove unused ${REGISTER_CXXFLAG} 2023-03-06 16:50:15 +00:00
John Ralls
c0681ababa Fix dist for gnome tests. 2023-03-04 15:51:13 -08:00
Richard Cohen
6470319c88 Warn about deprecated gtk, glib
- G_DISABLE_DEPRECATED no longer exists (as of glib 2.61.2)
- Turn off aqbanking global deprecation

Spoilers:

- gtk
 - (3.22) gdk_screen_width
 - (3.22) gdk_screen_height

- glib
 - (2.68) g_binding_get_target -> g_binding_dup_target

- aqbanking
 - AB_Banking_LoadSharedConfig
2023-02-21 12:59:42 +00:00
Richard Cohen
bddb4468fa Import GLIB2 as a target, and use it to simplify the CMakeLists 2023-02-21 12:59:42 +00:00
Richard Cohen
3a3cf05ab5 Turn on -Wunused 2023-02-16 09:20:59 +00:00
Richard Cohen
5f534161a1 Allow C declarations after statements
Good for declaring variables at point of use
2023-02-06 14:58:49 +00:00
John Ralls
9446ae7fb7 Release GnuCash 4.901 2023-02-05 09:30:53 -08:00
Richard Cohen
351990cf47 Remove unused GNOME cmake flags
There are no longer any Gnome dependencies
2023-01-31 16:25:03 +00:00
Richard Cohen
dbdb5cb9d1 Remove unused GNUCASH_LATEST_STABLE_SERIES 2023-01-31 16:16:48 +00:00
John Ralls
f6919e60a7 Merge Richard Cohen's 'cleanup' into master. 2023-01-24 12:05:47 -08:00
Richard Cohen
19bbde7000 Fix some typos 2023-01-23 15:01:46 +00:00
John Ralls
0afae7e261 Remove header-only boost modules from cmake find_package list. 2023-01-16 08:29:48 -08:00
John Ralls
a9be8d5180 Release GnuCash Unstable 4.900 2023-01-09 14:38:02 -08:00