summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix build with -Dbuild-deprecated-api=falselibsigc++-3-2Kjell Ahlstedt2022-08-152-2/+2
| | | | Fixes #82
* examples/member_method: Make on_print() non-virtualKjell Ahlstedt2022-08-151-2/+2
| | | | so it can be compiled with the -Wnon-virtual-dtor compiler option.
* 3.2.03.2.0Kjell Ahlstedt2022-02-114-4/+24
|
* meson.build: Specify 'check' option in run_command()Kjell Ahlstedt2022-02-118-19/+21
| | | | | | The default value will be changed in future Meson releases. Don't use deprecated python3.path() and execute(..., gui_app: ...).
* docs/docs/reference/Doxyfile.in: Remove obsolete entryKjell Ahlstedt2022-02-111-1/+0
|
* tools/tutorial-custom-cmd.py: Add comment about used stylesheetKjell Ahlstedt2022-01-311-0/+3
|
* CI: Install docbook-xsl where documentation is builtKjell Ahlstedt2022-01-099-33/+8
| | | | | | | | If docbook-xsl is installed, the xsltproc command reads stylesheets from local files instead of from http://docbook.sourceforge.net. Faster and safer. Reading from docbook.sourceforge.net sometimes fails. Remove test with g++-7.
* docs: Fix links to sigc::slot and sigc::signalKjell Ahlstedt2021-12-299-31/+40
| | | | | | Doxygen creates links to sigc::slot and sigc::signal only if template parameters are included in the documentation. sigc::slot<T_return(T_arg...)>, sigc::signal<T_return(T_arg...)>.
* ptr_fun(), mem_fun() docs: Remove left-overs from sigc++-2.0Kjell Ahlstedt2021-12-262-16/+13
| | | | | Some documentation of template parameters described sigc++-2.0 rather than sigc++-3.0.
* Reformat to suit clang-format-12Kjell Ahlstedt2021-12-265-16/+18
|
* CI: Use clang-format-12Kjell Ahlstedt2021-12-261-4/+2
| | | | and call clang-format directly without using autogen.sh + make.
* Second attempt to suit clang-format 10Kjell Ahlstedt2021-12-232-6/+3
| | | | | | Irritating that different versions of clang-format don't agree on what's an acceptable format, and that clang-format 10 is not easily installable on Ubuntu 21.10.
* Format source code to suit clang-formatKjell Ahlstedt2021-12-233-9/+16
| | | | | | | | | | * sigc++/functors/mem_fun.h: * sigc++/functors/ptr_fun.h: * tests/test_rvalue_ref.cc: Reformated with clang-format 13, but CI uses clang-format 10. Also add #include <utility> where std::forward was added. Doesn't seem to be necessary with g++ or clang++. Mostly a precaution.
* Add missing perfect forwarding in mem_functor and pointer_functorSlava Andrejev2021-12-233-2/+30
| | | | | This is a missed addition to the commit that allowed rvalue references in slot parameters.
* Add missing perfect forwarding in bound_mem_functor::operator()Slava Andrejev2021-12-232-1/+21
| | | | | This is a missed addition to the commit that allowed rvalue references in slot parameters.
* CMakeLists.txt: Update sigc++ version to 3.0.7Kjell Ahlstedt2021-12-191-3/+3
| | | | Should have been done when configure.ac and meson.build were updated.
* NMake Makefiles: Support building with VS2022Chun-wei Fan2021-11-091-1/+4
| | | | Make the VS2019 builds distinct from VS2022 builds.
* docs/docs/manual, Meson config: Check if xmllint can be usedKjell Ahlstedt2021-09-275-2/+46
|
* CI, Meson build: Install packages for validating XML fileKjell Ahlstedt2021-09-242-2/+2
| | | | | libxml2-utils and docbook5-xml are necessary in order to validate the XML file in docs/docs/manual/.
* docs/docs/manual: Upgrade from DocBook 4.1 to DocBook 5.0Kjell Ahlstedt2021-09-194-88/+106
|
* Require meson >= 0.54.0Kjell Ahlstedt2021-08-224-25/+15
|
* meson.build: Check if Perl is required for building documentationKjell Ahlstedt2021-08-172-3/+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.
* docs: Remove some obsolete filesKjell Ahlstedt2021-07-043-13/+0
| | | | | Remove docs/docs/manual/README, docs/docs/reference/README and docs/Makefile.
* docs/docs/manual: Add some formatting when html files are generatedKjell Ahlstedt2021-07-042-3/+23
| | | | | making it slightly more similar to gtkmm-documentation and libxml++. In Autotools builds, don't distribute the empty manual/README file.
* docs/docs/manual/libsigc_manual.xml: Add id on <sect1> elementsKjell Ahlstedt2021-07-041-14/+14
|
* test_rvalue_ref: Small fixesKjell Ahlstedt2021-06-026-12/+16
| | | | | | | | | | | | * tests/.gitignore: * tests/CMakeLists.txt: * tests/Makefile.am: Add test_rvalue_ref. * tests/test_rvalue_ref.cc: Avoid [-Werror=unused-parameter] when building with warnings=fatal. Some files have been reformated with clang-format in order to make the CI tests happy. Reformated with clang-format 12, but CI uses clang-format 10.
* Revert "test_rvalue_ref: Small fixes"Kjell Ahlstedt2021-06-0211-34/+28
| | | | This reverts commit 01652fdbc9f6fc2e72b217c9de8c89c93f95ba7c.
* test_rvalue_ref: Small fixesKjell Ahlstedt2021-06-0211-28/+34
| | | | | | | | | | | | * tests/.gitignore: * tests/CMakeLists.txt: * tests/Makefile.am: Add test_rvalue_ref. * tests/test_rvalue_ref.cc: Avoid [-Werror=unused-parameter] when building with warnings=fatal. Some files have also been reformated with clang-format in order to make the CI tests happy. Reformated with clang-format 12, but CI uses clang-format 10.
* Allow slots with rvalue reference parametersSlava Andrejev2021-06-026-7/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In code based on Glibmm it's quite common to convert a Glib C structure to a Glib::Object's descendant before passing it as a parameter to a slot. If the slot is not supposed to modify the object, then everything is fine, we can declare the parameter as a const reference and the temporary object will be accurately dealt with by the compiler. However, if the Glib based object is getting modified, the only way to pass it to the slot is to declare it a Glib::RefPtr shared pointer. This creates a lot of unnecessary churn of memory allocations for a simple deal of calling a signal. However, C++ has a specific mean for this particular semantic of passing a temporary object: rvalue reference. For example, somewhere inside Gtkmm might be a declaration: _WRAP_SIGNAL(void sun_rose(const Glib::RefPtr<Gtk::Sun> &new_sun), "sun-rose") Instead its more semantically correct to write: _WRAP_SIGNAL(void sun_rose(Gtk::Sun &&new_sun), "sun-rose") And later somewhere in your code: world->signal_sun_rose().connect([&](auto &&new_sun) { new_sun.shine(); }); This commit makes a couple of simple modifications that allow declaring signals and slots with rvalue reference parameter.
* 3.0.73.0.7Kjell Ahlstedt2021-05-203-2/+13
|
* Visual Studio build files: Some cleanupsChun-wei Fan2021-05-182-2/+2
| | | | Replace /wd4530 with /EHsc, as that is the more proper CXXFlag to use for C++ programs
* Add dependencies to Doxygen tag files in subprojectsKjell Ahlstedt2021-05-182-1/+14
| | | | | Doxygen in a main project shall not be called before tag files have been created or updated in subprojects.
* Fix build as subproject without building documentationKjell Ahlstedt2021-05-142-21/+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/docs/reference/meson.build: Don't use variables from modules that don't define doxytagfile. These are subprojects that don't build their documentation. Fixes #71
* Subprojects can use meson.add_dist_script() if meson.version() >= 0.58.0Kjell Ahlstedt2021-05-056-19/+26
| | | | | | | | | | | | * meson.build: * MSVC_NMake/meson.build: * docs/docs/manual/meson.build: * docs/docs/reference/meson.build: Call add_dist_script() in a subproject, if meson.version() >= 0.58.0. * tools/handle-built-files.py: * tools/tutorial-custom-cmd.py: Use MESON_PROJECT_DIST_ROOT if it exists, else MESON_DIST_ROOT. It exists if meson.version() >= 0.58.0.
* Meson build: No implicit_include_directoriesKjell Ahlstedt2021-04-082-0/+3
|
* Meson build: No implicit_include_directoriesKjell Ahlstedt2021-03-261-0/+1
| | | | | It shall not be possible to find a sigc++ header file with #include <xxx.h> instead of #include <sigc++/xxx.h>.
* Meson build: Require only meson.version() >= 0.51.0Kjell Ahlstedt2021-03-132-4/+16
| | | | | | | meson.version() >= 0.54.0 is necessary if sigc++ is a subproject, or if mm-common is a subproject of sigc++. Only meson.version() <= 0.53.2 is available in CI. Make it possible to build with version 0.53.2 as long as no subprojects are used.
* Meson build: Make it possible to use sigc++ as a subprojectKjell Ahlstedt2021-03-127-14/+37
| | | | mm-common can be a subproject of sigc++.
* docs/docs/reference/Doxyfile.in: Remove obsolete entriesKjell Ahlstedt2021-03-111-2/+1
|
* GitHub Actions CI: Check formatting with clang-formatMurray Cumming2021-01-241-0/+20
| | | | This requires clang-format-10, which is available in ubuntu-20.04.
* Build: Add target to check code formatting with clang-formatMurray Cumming2021-01-241-0/+6
| | | | However, this requires clang 10.
* sigc++config.h.* Format with clang-format (clang-format-10)Murray Cumming2021-01-242-46/+46
| | | | So the generated sigc++config.h will have the correct formatting.
* run make format (with clang-format-10), to format the codeMurray Cumming2021-01-245-6/+8
|
* GitHub Actions: Try gcc 8 and gcc 9 tooMurray Cumming2021-01-022-0/+50
|
* GitHub Actions: Try clang-10 tooMurray Cumming2021-01-021-0/+27
|
* GitHub actions: Use ubuntu-20.04 directlyMurray Cumming2021-01-024-15/+12
| | | | | | | | | | GitHub Actions now supports ubuntu-20.04 directly, not only via a separate container: https://github.com/actions/virtual-environments And use ubuntu-18.04 instead of ubuntu-latest, because that's what it currently is, but ubuntu-latest will change to mean ubuntu-20.04 soon: https://github.com/actions/virtual-environments/issues/1816
* docs: Update the web pageKjell Ahlstedt2020-12-253-4/+7
| | | | | The changes are automatically published at libsigcplusplus.github.io/libsigcplusplus.
* CI: Test clang-9 in Ubuntu 20.04Kjell Ahlstedt2020-12-141-5/+7
|
* CI: Do some tests with MesonKjell Ahlstedt2020-12-115-79/+70
| | | | | Remove test with clang 7. Test gcc 9 and clang 10 with meson instead of autotools.
* CI: Remove tests with clang 5 and clang 6Kjell Ahlstedt2020-12-012-50/+0
| | | | Building with clang 7, 8, 9 and 10 is enough.