Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
Fixes #29
|
|
Make it possible to exclude deprecated API from the build.
See #29
|
|
Meson: Re-structure warning-related compiler flags for Visual Studio (cairomm-1-14 branch)
See merge request cairo/cairomm!23
|
|
Add a short description for the warning-related compiler flags for Visual
Studio.
Also, use the `/wd4267` compiler flag only when building a 64-bit build, since
warning C4267 only applies for 64-bit builds.
|
|
Since cairomm does not hard-depend on GLib, it may be the case that
msvc_recommended_pragmas.h is not available during the build. If it is not,
disable warnings C4244 and C4101, which are part of the warnings that it
disables.
|
|
|
|
The default value will be changed in future Meson releases.
Don't use deprecated python3.path() and execute(..., gui_app: ...).
|
|
build: Support Visual Studio 2022
See merge request cairo/cairomm!19
|
|
Make these builds distinct from the Visual Studio 2019 builds.
|
|
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.
|
|
|
|
|
|
|
|
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 (cairomm-1-14 branch)
See merge request cairo/cairomm!18
|
|
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.
|
|
* meson.build:
* docs/reference/meson.build:
Call add_dist_script() in a subproject, if meson.version() >= 0.58.0.
|
|
|
|
cairo and sigc++ can be subprojects of cairomm.
|
|
|
|
cairommconfig.h.*: Don't dllimport on MinGW (cairomm-1-14 branch)
See merge request cairo/cairomm!15
|
|
This will fix warnings when building items using cairomm with MinGW/GCC.
Please see: https://gitlab.gnome.org/GNOME/gtkmm/-/issues/90
|
|
|
|
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.
|
|
* 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 (cairomm-1-14 branch)
See merge request cairo/cairomm!12
|
|
We don't need to track generated files that are in under MSVC_NMake/
|
|
This compiler flag is provided with Visual Studio 2015 or later
|
|
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 (cairomm-1-14 branch)
See merge request cairo/cairomm!11
|
|
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 (cairomm-1-14 branch)
See merge request cairo/cairomm!9
|
|
This makes the built DLL and .lib's contain the toolset version if
the build is carried out using Visual Studio 2015 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 2015-built
cairomm with Visual Studio 2017 or 2019. This is unfortunate as
Microsoft did try hard to make interoperating between binaries built
with Visual Studio 2015, 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 2015, 2017
and 2019 builds share a single set of underlying C DLLs easier,
while avoiding possible breakages caused by such subtle differences.
|
|
NMake Makefiles: Distinguish between Visual Studio 2015, 2017 and 2019 (cairomm-1-14 branch)
See merge request cairo/cairomm!6
|
|
Let people know that it is recommended to use the same Visual Studio
version, even when using 2015, 2017 or 2019, to build software that
depends on cairomm.
Also note a new NMake option that allows creating MSVC 2015-style DLL
and .lib filenames if that is needed, but note that is generally not
recommended.
|
|
It was found that we cannot completely rely on the fact that Visual
Studio 2015~2019 tried very hard to be binary compatible, as there
could be corner cases when linking against cairomm built with Visual
Studio 2015 with builds done by Visual Studio 2017 and 2019 where
the code could fail to link and the DLLs are therefore not
ABI-compatible. Note that the libsigc++ DLLs, however, are ABI
compatible between these 3 Visual Studio versions.
As a result, for the DLL and LIB names, use 'vc140' for Visual Studio
2015 builds, 'vc141' for Visual Studio 2017 builds and 'vc142' for
Visual Studio 2019 builds, according to the toolset versions as defined
by Microsoft.
For people that may have previously built cairomm with Visual
Studio 2017 or 2019, which had 'vc140' in the built .lib and DLL, an NMake
option 'USE_COMPAT_LIBS' is added to make building such binaries with
'vc140' easier, if needed.
|
|
|