summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2022-09-211.14.41.14.4Kjell Ahlstedt3-2/+21
2022-09-11Convert README to README.mdKjell Ahlstedt1-7/+38
2022-08-16Fix build with -Dbuild-deprecated-api=falseKjell Ahlstedt2-4/+12
Fixes #29
2022-08-16Autotools build: Add --disable-deprecated-apiKjell Ahlstedt2-0/+4
Make it possible to exclude deprecated API from the build. See #29
2022-05-25Merge branch 'msvc-warnings-1-14' into 'cairomm-1-14'Kjell Ahlstedt1-4/+27
Meson: Re-structure warning-related compiler flags for Visual Studio (cairomm-1-14 branch) See merge request cairo/cairomm!23
2022-05-24Meson: Re-organize warnings-related compiler flags for MSVCChun-wei Fan1-6/+22
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.
2022-05-23Meson/MSVC: Compensate for the lack of msvc_recommended_pragmas.hChun-wei Fan1-1/+8
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.
2022-05-19meson.build: Avoid configuration warningsKjell Ahlstedt1-18/+23
2022-02-13meson.build: Specify 'check' option in run_command()Kjell Ahlstedt4-12/+14
The default value will be changed in future Meson releases. Don't use deprecated python3.path() and execute(..., gui_app: ...).
2021-11-12Merge branch 'cairomm-1-14' into 'cairomm-1-14'Kjell Ahlstedt2-2/+7
build: Support Visual Studio 2022 See merge request cairo/cairomm!19
2021-11-10build: Support Visual Studio 2022Chun-wei Fan2-2/+7
Make these builds distinct from the Visual Studio 2019 builds.
2021-08-18meson.build: Check if Perl is required for building documentationKjell Ahlstedt2-4/+13
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.
2021-06-11Update examples/READMEKjell Ahlstedt1-2/+2
2021-06-10Doxyfile.in: Add the @newin alias and CAIROMM_API=Kjell Ahlstedt1-3/+4
2021-05-201.14.31.14.3Kjell Ahlstedt3-2/+16
2021-05-18Add dependencies to Doxygen tag files in subprojectsKjell Ahlstedt2-2/+15
Doxygen in a main project shall not be called before tag files have been created or updated in subprojects.
2021-05-14Fix build as subproject without building documentationKjell Ahlstedt2-22/+30
* 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.
2021-05-11Merge branch 'cairomm-1-14' into 'cairomm-1-14'Kjell Ahlstedt4-8/+13
cairomm/exception.h: Export Cairo::logic_error selectively (cairomm-1-14 branch) See merge request cairo/cairomm!18
2021-05-11meson: Reorganize warnings on Visual Studio buildsChun-wei Fan2-2/+8
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.
2021-05-11MSVC_NMake/config-msvc.mak: Clean up compiler flagsChun-wei Fan1-2/+1
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
2021-05-11cairomm/exception.h: Export Cairo::logic_error selectivelyChun-wei Fan1-4/+4
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.
2021-05-05Subprojects can use meson.add_dist_script() if meson.version() >= 0.58.0Kjell Ahlstedt2-7/+9
* meson.build: * docs/reference/meson.build: Call add_dist_script() in a subproject, if meson.version() >= 0.58.0.
2021-04-07Meson build: No implicit_include_directoriesKjell Ahlstedt2-0/+2
2021-03-26Meson build: Make it possible to use cairomm as a subprojectKjell Ahlstedt9-13/+49
cairo and sigc++ can be subprojects of cairomm.
2021-03-09docs/reference/Doxyfile.in: Remove obsolete entriesKjell Ahlstedt1-2/+1
2021-03-09Merge branch 'fix.mingw.warnings.114' into 'cairomm-1-14'Kjell Ahlstedt2-2/+6
cairommconfig.h.*: Don't dllimport on MinGW (cairomm-1-14 branch) See merge request cairo/cairomm!15
2021-03-09cairommconfig.h.*: Don't dllimport on MinGWChun-wei Fan2-2/+6
This will fix warnings when building items using cairomm with MinGW/GCC. Please see: https://gitlab.gnome.org/GNOME/gtkmm/-/issues/90
2020-09-301.14.21.14.2Kjell Ahlstedt3-2/+18
2020-09-29Meson build: Fix versioning on macOSKjell Ahlstedt2-2/+8
See https://github.com/libsigcplusplus/libsigcplusplus/pull/65
2020-09-29Require cairo >= 1.12.0Kjell Ahlstedt2-2/+2
Has been a requirement for a long time, but configure.ac and meson.build had not been updated.
2020-09-271.14.0Kjell Ahlstedt3-2/+40
2020-09-12Autotools builds: Create only .tar.xz tarballsKjell Ahlstedt1-1/+1
This is what Meson does. Cairo does it when built with Autotools.
2020-08-14tests: Fix tests in Autotools buildsKjell Ahlstedt5-245/+359
* build/ax_boost_base.m4: * build/ax_boost_unit_test_framework.m4: Newer versions have been fetched from www.gnu.org/software/autoconf-archive
2020-08-13tests: Don't include deprecated Boost header filesKjell Ahlstedt9-9/+9
2020-08-12Add Context::get_source_for_surface()Kjell Ahlstedt3-1/+41
Fixes #5
2020-07-23Merge branch 'cairomm-1-14' into 'cairomm-1-14'Kjell Ahlstedt4-26/+47
Fix and improve cairomm NMake Makefiles (cairomm-1-14 branch) See merge request cairo/cairomm!12
2020-07-23Update .gitignoreChun-wei Fan1-6/+7
We don't need to track generated files that are in under MSVC_NMake/
2020-07-23NMake Makefiles: Use /utf-8 compiler flag if availableChun-wei Fan1-0/+4
This compiler flag is provided with Visual Studio 2015 or later
2020-07-23NMake Makefiles: Use Meson-style DLL and .lib naming if requestedChun-wei Fan1-4/+15
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.
2020-07-23NMake Makefiles: Fix builds from release tarballsChun-wei Fan2-16/+21
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.
2020-07-10Merge branch 'cairomm-1-14' into 'cairomm-1-14'Kjell Ahlstedt2-1/+6
Visual Studio: Improve NMake Makefiles for ARM64 Windows builds (cairomm-1-14 branch) See merge request cairo/cairomm!11
2020-07-08NMake Makefiles: Look for headers in $(PREFIX)\include alsoChun-wei Fan1-1/+2
The needed headers can be in $(PREFIX)\include as well, so we ought to look for them there
2020-07-08NMake Makefiles: Support ARM64 Windows buildsChun-wei Fan1-0/+4
This will make the NMake Makefiles capable of building ARM64 binaries of cairomm, which can be used on Windows 10 on ARM systems.
2020-06-29docs/reference/: Update for Doxygen >= 1.8.16Kjell Ahlstedt2-8/+8
* 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.
2020-06-26Merge branch 'meson-msvc-toolset-1-14' into 'cairomm-1-14'Kjell Ahlstedt7-4/+29
Meson/Visual Studio builds: Include toolset version by default (cairomm-1-14 branch) See merge request cairo/cairomm!9
2020-06-25Meson/Visual Studio builds: Include toolset version by defaultChun-wei Fan7-4/+29
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.
2020-06-18Merge branch 'msvc.ver.1.14' into 'cairomm-1-14'Kjell Ahlstedt7-66/+80
NMake Makefiles: Distinguish between Visual Studio 2015, 2017 and 2019 (cairomm-1-14 branch) See merge request cairo/cairomm!6
2020-06-13MSVC_NMake/README: Add note on mixing between MSVC 2015~2019Chun-wei Fan1-0/+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.
2020-06-13NMake Makefiles: Distinguish between MSVC 2015, 2017 and 2019Chun-wei Fan6-66/+74
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.
2020-06-05README: Update with instructions for building cairommKjell Ahlstedt1-6/+95