Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
New versions of mm-common use the Python scripts doc_postprocess.py
and doc_install.py instead of the Perl scripts doc-postprocess.pl and
doc-install.pl when documentation is built.
|
|
|
|
|
|
and add a test in tests/test-context.cc. Fixes #9
|
|
|
|
See #9
|
|
|
|
Doxygen in a main project shall not be called before tag files have been
created or updated in subprojects.
|
|
* meson.build: If mm-common-get is not found in maintainer-mode
with 'required: false', try with 'required: true'.
Don't try to use tag_file, if documentation is not built.
* docs/reference/meson.build: Don't use variables from modules
that don't define doxytagfile. These are subprojects that don't build
their documentation.
|
|
cairomm/exception.h: Export Cairo::logic_error selectively
See merge request cairo/cairomm!17
|
|
We can now drop the ignores for warnings C4251, C4273 and C4275 along with
C4530, since our code and compiler flags should now make us free of them,
since we use /EHsc to build our code and we are clean of classes that we
export as a whole that derives from std::xxx classes.
Ignore warning C4800, and warning C4127 in the examples, since these warnings
are really spurious and safe to ignore as a whole.
|
|
Since we eliminated the C4251, C4273 and C4275 warnings, don't ignore them
along with C4530, since we are now using /EHsc. This will make the compiler
flags a bit cleaner
|
|
Since this class derives std::logic_error, don't export the class as a whole
but instead export its member methods as necessary on Windows. This will make
the compiled DLL to not be locked in a single compiler/STL version, and will
remove the compiler warnings C4251, C4273 and C4275 on Visual Studio.
Also remove the workaround for Visual Studio 2013 since Visual Studio 2017 or
later is required for cairomm master.
|
|
* meson.build:
* docs/reference/meson.build:
Call add_dist_script() in a subproject, if meson.version() >= 0.58.0.
|
|
|
|
It shall not be possible to find a cairomm header file
with #include <xxx.h> instead of #include <cairomm/xxx.h>.
|
|
cairo and sigc++ can be subprojects of cairomm.
|
|
cairommconfig.h.*: Don't dllimport on MinGW (master branch)
See merge request cairo/cairomm!16
|
|
This will fix warnings when building items using cairomm with MinGW/GCC.
Please see: https://gitlab.gnome.org/GNOME/gtkmm/-/issues/90
|
|
Don't define Surface::Type::WIN32 if WIN32 is a preprocessor macro
Closes #26
See merge request cairo/cairomm!14
|
|
WIN32 can be a preprocessor macro. Fixes #26
|
|
|
|
Add commented-out commands for signing the tarball,
and uploading the detached signature file. See #25
|
|
|
|
Scripts that simplify releasing new versions of cairomm.
|
|
|
|
See https://github.com/libsigcplusplus/libsigcplusplus/pull/65
|
|
Has been a requirement for a long time, but configure.ac
and meson.build had not been updated.
|
|
This is what Meson does. Cairo does it when built with Autotools.
|
|
It's right for C++ classes wrapping GObject subclasses in glibmm and
gtkmm, but it is not right for wrappers in cairomm.
Fixes #23
|
|
* build/ax_boost_base.m4:
* build/ax_boost_unit_test_framework.m4: Newer versions have been fetched
from www.gnu.org/software/autoconf-archive
|
|
|
|
Fixes #5
|
|
Fix and improve cairomm NMake Makefiles (master branch)
See merge request cairo/cairomm!13
|
|
We don't need to track generated files that are in under MSVC_NMake/
|
|
To make things more consistent and less prone to confusion, if 'USE_MESON_LIBS'
is specified in the NMake command line, build the DLLs and .lib's that are
named like the Meson counterparts. Binaries built with Meson+Visual Studio
and the ones that are built via NMake using 'USE_MESON_LIBS' are
interchangeable, provided that they are built with the same Visual Studio
version.
|
|
This avoids needlessly enerating cairommconfig.h and cairomm.rc, and when we do
need to generate these files, we ensure that they always have the right version
info in them.
Also streamline the build process that this file generating is done in the
'all' target, so that one does not need to use the -prep-git-build' target
beforehand.
|
|
Visual Studio: Improve NMake Makefiles for ARM64 Windows builds (master branch)
See merge request cairo/cairomm!10
|
|
The needed headers can be in $(PREFIX)\include as well, so we ought to look for
them there
|
|
This will make the NMake Makefiles capable of building ARM64 binaries of
cairomm, which can be used on Windows 10 on ARM systems.
|
|
* docs/reference/meson.build: Doxygen 1.8.16 and later does not store
tag file names in the html files. This requires changes in meson.build
and in doc-install.pl (in mm-common). Otherwise references to other modules
won't be updated in the html files when they are installed.
* docs/reference/Doxyfile.in: Remove PERL_PATH and MSCGEN_PATH.
Doxygen since version 1.8.0 does not use them.
|
|
Meson/Visual Studio builds: Include toolset version by default (master branch)
See merge request cairo/cairomm!8
|
|
This makes the built DLL and .lib's contain the toolset version if
the build is carried out using Visual Studio 2017 or later, unless
the 'msvc14x-parallel-installable' option is set to be false during
configuration.
The reasoning behind this change is that there may be subtle problems
when, for instance, one tries to link to a Visual Studio 2017-built
cairomm with Visual Studio 2019. This is unfortunate as Microsoft
did try hard to make interoperating between binaries built with Visual
Studio 2017 and 2019 as easy as possible in terms of ABI and API, but
unfortunately this may hit the corner cases where this compatibility
does not work.
As the name suggests, this attempts to make Visual Studio 2017
and 2019 builds share a single set of underlying C DLLs easier,
while avoiding possible breakages caused by such subtle differences.
|
|
NMake Makefiles: Use toolset version in DLL/.lib filenames
See merge request cairo/cairomm!7
|
|
We now use the toolset version ('vc141' for Visual Studio 2017 and 'vc142' for
Visual Studio 2019) in the DLL anbd .lib filenames by default, to be consistent
with what is now being done in the 'cairo-1-14' branch.
If using the old naming convention is desired, a command line option
'USE_COMPAT_LIBS' is added to facilitate such builds
|
|
|
|
We are no longer using it, so just drop it from the source tree.
|
|
Instead, we use the newly-added CAIROMM_API which is defined to be
__declspec(dllexport) to export the symbols directly.
This will also allow some cleanup in the Meson build files, as we do not
need to differentiate how the cairomm library is built on different
compilers.
|
|
Define CAIROMM_API as __declspec(dllexport) (when building) or
__declspec(dllimport) (when using).
This will enable us to reduce the size of the built cairomm DLL and
.lib.
|