summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-08-26CI: Add .gitlab-ci.ymlKjell Ahlstedt1-0/+90
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-09Surface::Type: Really deprecate WIN32 with CAIROMM_DISABLE_DEPRECATEDKjell Ahlstedt1-3/+2
2021-06-09Update SaveGuardKjell Ahlstedt3-30/+47
and add a test in tests/test-context.cc. Fixes #9
2021-06-09Doxyfile.in: Add the @newin alias and CAIROMM_API=Kjell Ahlstedt1-3/+4
2021-06-08Add Cairo::SaveGuard save/restore objectJason Rhinelander2-0/+35
See #9
2021-05-201.16.11.16.1Kjell Ahlstedt2-1/+19
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 'master' into 'master'Kjell Ahlstedt4-12/+12
cairomm/exception.h: Export Cairo::logic_error selectively See merge request cairo/cairomm!17
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-1/+0
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-9/+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. Also remove the workaround for Visual Studio 2013 since Visual Studio 2017 or later is required for cairomm master.
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: No implicit_include_directoriesKjell Ahlstedt1-0/+1
It shall not be possible to find a cairomm header file with #include <xxx.h> instead of #include <cairomm/xxx.h>.
2021-03-16Meson build: Make it possible to use cairomm as a subprojectKjell Ahlstedt9-14/+49
cairo and sigc++ can be subprojects of cairomm.
2021-03-09Merge branch 'fix.mingw.warnings' into 'master'Kjell Ahlstedt2-2/+6
cairommconfig.h.*: Don't dllimport on MinGW (master branch) See merge request cairo/cairomm!16
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
2021-02-23Merge branch 'kjellahl/surface-type-win32' into 'master'Kjell Ahlstedt1-2/+11
Don't define Surface::Type::WIN32 if WIN32 is a preprocessor macro Closes #26 See merge request cairo/cairomm!14
2021-02-20Surface::Type: Deprecate WIN32, add WIN32_SURFACEKjell Ahlstedt1-2/+11
WIN32 can be a preprocessor macro. Fixes #26
2021-02-20docs/reference/Doxyfile.in: Remove obsolete entriesKjell Ahlstedt1-2/+1
2021-02-19tools/release-publish.sh: Add commentsKjell Ahlstedt1-0/+8
Add commented-out commands for signing the tarball, and uploading the detached signature file. See #25
2020-10-04tools/doc-publish.sh, release-publish.sh: Exit on errorKjell Ahlstedt2-2/+4
2020-09-30Add tools/doc-publish.sh and release-publish.shKjell Ahlstedt3-1/+91
Scripts that simplify releasing new versions of cairomm.
2020-09-291.16.01.16.0Kjell Ahlstedt3-2/+44
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-12Autotools builds: Create only .tar.xz tarballsKjell Ahlstedt1-1/+1
This is what Meson does. Cairo does it when built with Autotools.
2020-08-26Remove RefPtrDeleter()Kjell Ahlstedt1-28/+24
It's right for C++ classes wrapping GObject subclasses in glibmm and gtkmm, but it is not right for wrappers in cairomm. Fixes #23
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 'master' into 'master'Kjell Ahlstedt4-26/+42
Fix and improve cairomm NMake Makefiles (master branch) See merge request cairo/cairomm!13
2020-07-23Update .gitignoreChun-wei Fan1-6/+6
We don't need to track generated files that are in under MSVC_NMake/
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 'master' into 'master'Kjell Ahlstedt2-1/+6
Visual Studio: Improve NMake Makefiles for ARM64 Windows builds (master branch) See merge request cairo/cairomm!10
2020-07-09NMake 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-09NMake 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' into 'master'Kjell Ahlstedt7-6/+28
Meson/Visual Studio builds: Include toolset version by default (master branch) See merge request cairo/cairomm!8
2020-06-25Meson/Visual Studio builds: Include toolset version by defaultChun-wei Fan7-6/+28
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.
2020-06-18Merge branch 'msvc.ver.master' into 'master'Kjell Ahlstedt3-20/+38
NMake Makefiles: Use toolset version in DLL/.lib filenames See merge request cairo/cairomm!7
2020-06-16NMake Makefiles: Use toolset version in DLL/.lib filenamesChun-wei Fan3-20/+38
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
2020-06-05README: Update with instructions for building cairommKjell Ahlstedt1-7/+96
2020-05-05Drop gendef from the sourcesChun-wei Fan4-97/+1
We are no longer using it, so just drop it from the source tree.
2020-05-05meson: Don't use gendef on Visual StudioChun-wei Fan3-53/+9
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.
2020-05-05NMake Makefiles: Stop using gendef.exe byChun-wei Fan3-17/+4
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.