2021-05-20 Kjell Ahlstedt 2.68.1 2021-05-18 Kjell Ahlstedt Add dependencies to Doxygen tag files in subprojects Doxygen in a main project shall not be called before tag files have been created or updated in subprojects. 2021-05-15 Kjell Ahlstedt Fix build as subproject without building documentation * 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-07 Chun-wei Fan Clean up Visual Studio build files Stop ignoring warnings C4251, C4273 and C4275 and add /EHsc in the compiler flags, so that we know if we are inadvertedly tying ourselves too closely to a Visual Studio compiler/STL version 2021-05-07 Chun-wei Fan Don't mark the Glib::Source class with GLIBMM_API Instead, mark the individual members with GLIBMM_API so that we avoid having the code tied to a particular STL and compiler version. Update the classes that derive from Glib::Source accordingly as well 2021-05-07 Chun-wei Fan error.h Avoid exporting class deriving frm std::exception This will avoid having the ABI tied to a particular STL and compiler version, and so will eliminate C4275 compiler warnings when building the code. Also update gerror.m4 so that it will generate code deriving from Glib::Error with the export macro markings with the member functions, so that things continue to build properly 2021-05-07 Chun-wei Fan fileattributeinfo.hg: Avoid exporting classes with std::string members ...and templates that inherit std::string. This will help us to also eliminate C4251 warnings from code that use thid class and related items, and avoid ABI compatibility issues when building code that link and run aginst glibmm on Visual Studio builds. 2021-05-07 Chun-wei Fan variantdbusstring.h: Don't mark classes with GLIBMM_API It's actually not necessary here, and it will cause issues with the previous commit 2021-05-07 Chun-wei Fan ustring.h: Avoid exporting classes with std::string members ...and templates that inherit std::string. This will help us to also eliminate C4251 warnings from code that use the ustring class and related items, and avoid ABI compatibility issues when building code that link and run aginst glibmm on Visual Studio builds. 2021-05-05 Kjell Ahlstedt Glib::PatternSpec: Ignore deprecation of g_pattern_match() 2021-05-05 Kjell Ahlstedt Subprojects can use meson.add_dist_script() if meson.version() >= 0.58.0 * meson.build: * docs/reference/meson.build: * gio/giomm/meson.build: * glib/glibmm/meson.build: Call add_dist_script() in a subproject, if meson.version() >= 0.58.0. * tools/build_scripts/handle-built-files.py: Use MESON_PROJECT_DIST_ROOT if it exists, else MESON_DIST_ROOT. It exists if meson.version() >= 0.58.0. 2021-04-19 Kjell Ahlstedt Meson build: Make quiet installations possible * tools/build_scripts/handle-built-files.py: Don't print names of installed files if environment variable MESON_INSTALL_QUIET is set. It is set by "meson install --quiet" in Meson 0.54.0 and newer. 2021-04-11 Kjell Ahlstedt tests/glibmm_ustring_compare: Fix so it works for C++20 Make 3 tests, where the 2 new tests check that the disallowed comparisons between std::string and Glib::ustring don't compile. The new tests are added only in Meson builds (ninja test). See MR !50 2021-04-08 Kjell Ahlstedt Meson build: No implicit_include_directories 2021-04-06 Magne Oestlyngen Variant: Fix so it works with C++20 C++20 changed some aspects of templates that broke variant.h on some compilers (GCC 11). Ref: https://wg21.cmeerw.net/cwg/issue2237 template struct A { A(); // ok pre-C++20, now incorrect // A(); // correct for all versions }; This commit removes the "simple-template-id" from both the default constructor (no args) and the explicit constructor (has args), even though only the default constructor currently gives error on GCC 11. Since both versions are wrong according to the issue referred to above it is expected that GCC (and possibly other compilers) will be updated to fail on both cases in the future. 2021-03-26 Kjell Ahlstedt Meson build: No implicit_include_directories It shall not be possible to find a glibmm header file with #include instead of #include . Not fully fixed until https://github.com/mesonbuild/meson/issues/8562 has been fixed. 2021-03-17 Kjell Ahlstedt Add tools/defs_gen/enumextract.py A Python script that can replace the Perl script tools/enum.pl. Why? Just because I've got fond of Python. 2021-03-12 Kjell Ahlstedt Meson build: Make it possible to use glibmm as a subproject glib and sigc++ can be subprojects of glibmm. 2021-03-12 Kjell Ahlstedt Meson build: examples and tests: Add dependency('threads') Multithreaded examples and tests depend on 'threads'. I noticed this when I started experimenting with subprojects. Strange that it was not reported as a missing dependency long ago. 2021-03-09 Chun-wei Fan g[io|lib]mmconfig.h.*: Don't dllimport on MinGW This will fix warnings when building items using glibmm and giomm with MinGW/GCC. Please see: https://gitlab.gnome.org/GNOME/gtkmm/-/issues/90 2021-03-06 Kjell Ahlstedt tools/gen_scripts: Ignore gio/gwin32api-*.h Ignore some new glib header files when generating gio/src/gio_enums.defs and gio/src/gio_methods.defs. 2021-02-24 Kjell Ahlstedt docs/reference/Doxyfile.in: Remove obsolete entries 2021-02-24 Kjell Ahlstedt Meson build: Use relative paths to untracked/ The paths to the source code in untracked/ shall be relative to the meson.build file, when library files are built from a tarball. With absolute paths Meson may generate too long file names. See gtkmm!61