1. If GTEST_ROOT and/or GMOCK_ROOT are defined, sources are expected
somewhere inside these directories. Otherwise a CMake error is
generated. Different source directory layouts are considered.
2. If GTEST_ROOT and GMOCK_ROOT are both not defined, sources are
searched in /usr/src. Different source directory layouts are considered.
3. If sources are not found in one of the first two cases, preinstalled
libraries are searched.
Additionally using HINTS in function find_path() has been replaced by
PATHS and PATH_SUFFIXES. According to CMake documentation in case of
hard-coded guesses PATHS should be used. Remark: This reverts commit
5f53e29, but instead NO_CMAKE_SYSTEM_PATH is used now to prevent CMake
from searching in system paths.
Hint: There was a special handling implemented regarding search for
gmock-all.cc. This file was additionally searched in /usr/src/gmock
directly instead of /usr/src/gmock/src (see commit 1241b71). This
special handling has been kept in case of searching sources in
/usr/src/gmock, but not in case of searching sources in GMOCK_ROOT or
GTEST_ROOT.
if GTEST/GMOCK sources are already found, only check if gtest/gtest.h
and gmock/gmock.h exist at GTEST_SRC_DIR/include and
GMOCK_SRC_DIR/include and set GTEST_INCLUDE_DIR and GMOCK_INCLUDE_DIR
accordingly.
This simplifies usage of GoogleTest, since independent handling of
GTEST_LIB and GTEST_INCLUDE_DIR is not necessary anymore.
Additionally CMake creates a dependency now between target gtest and all
test applications using it. This improves build process when building
GoogleTest from source code. When any test application is built,
GoogleTest library is automatically rebuilt if necessary now for
instance.
* the calc_clicked_cb had mechanism to abort if no fields were
empty. disable it.
* to convert gnc_numeric to string, the only suitable print_info is
gnc_share_print_info_places which takes decimal and outputs suitable
print_info. Not very appropriate, but works.
It's not really part of the owner report, so I'm surprised it actually worked before
Probably due to the formerly exported find-first-account-for-owner
That is:
* move the account lookup from report.scm to owner-report.scm so
there's no need any more to call into reports.scm from within owner-report.scm
* fix the cmake dependency tree to reflect the new changes:
only customer-overview depends directly on code in reports.scm
All other reports don't. reports.scm however does depend on three
standard reports. So:
standard-reports <- reports <- customer-overview
Previously, for general-journal, each split was being analyzed, and
only the source split was counted for totals. This change will means
the source split *and* its peers were accounted for.
We don't recommend this as it risks tainted build environments. However if
you know what you're doing it should still work. In particular sandboxed systems
such as flatpak don't have this problem and hence they do build in-tree.
* Use cmake's built-in copy command rather than an external one
* depend directly on gnc-vcs-info.h rather than the global gnc-vcs-info-target
The latter won't trigger a rerun of the command if gnc-vcs-info.h already exists
regardless of whether it had changed.
- depend on gnc-vcs-info.h file directly instead of the gnc-vcs-info target
The latter won't cause gnucash to update the manpage in case gnc-vcs-info.h changes,
the former does.
- use GNC_VCS_REV as version instead of the static VERSION parameter
This simplifies a number of escape sequences.
The generated file to configure the man page was split up a bit further:
- code that extracted the GNC_VCS_REV_Y_M from gnc-vcs-info.h was spun out
into its own function that now sets all parameters in gnc-vcs-info.h
as environment variables.
- this function is now invoked by configure-manpage.cmake to extract
the date to insert into the manpage.
- the manpage in addition now shows the full date rather than only
yyyy-mm. This is how man itself does it as well.
All tags except for the core information (id, name, summary and description)
are sorted alphabetically for easier lookup. The core tags are kept on top
though.
With the previous change clicking any where on the menu column header
will activate the menu so this change activates the menu only in the
area of the icon.
This is caused by the spacer column being reduced as new columns are
inserted before the menu selection column at the end. When it gets to
a size that can not hold a valid button in the header you get the
warning so remove the spacer column.
With gncTaxTableGetDefault.
qof_book_get_default_tax_table would have been even better but it
would have created a circular dependency between QofBook and
GncTaxTable.
They are now under gnucash/locale/{us,de_DE}. This introduces a directory to add
any scm code that is locale specific. For now it's limited to tax rules for
the US or Germany.
This simplifies the calls in the rest of gnucash
Note that the locale specific reports themselves don't even load this module any more.
They don't need it, instead they can directly load the locale specific tax scheme modules.