summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* meson.build: Check if .git is a directory or a fileKjell Ahlstedt2019-12-291-6/+3
| | | | | | In a git worktree, .git is a regular file. See https://gitlab.gnome.org/GNOME/pangomm/merge_requests/8
* sigc++/meson.build: Library name is sigc-2.0Kjell Ahlstedt2019-12-291-4/+4
| | | | Pointed out by Chun-wei Fan in PR #51.
* NMake Makefiles: Separate outdir by toolset versionChun-wei Fan2019-12-295-47/+51
| | | | | | | This is to reduce the likelihood of accidently mixing DLLs that are linked with different CRTs in the build tree. Also clean up rules a bit.
* build: Support NMake builds from Meson tarballsChun-wei Fan2019-12-296-13/+42
| | | | | | | | This adds inference rules to the NMake Makefiles to also look for the sources that are in untracked/, and to ensure that the generated MSVC build files (sigc++-config.h and sigc.rc) are copied into untracked/MSVC_NMake, so that they can be built properly even with NMake.
* meson: Build Windows .rc files on WindowsChun-wei Fan2019-12-292-1/+11
| | | | | This ensures that on Windows, the version info resources are indeed linked into the libsigc++ DLL.
* meson/Windows: Fix builds when builddir is a subdir of source treeChun-wei Fan2019-12-291-1/+1
| | | | | | | | | It appears that Meson did not construct the paths properly for shutil.copy2() when building in a build directory that is a subdirectory of the sources, when using meson.current_build_dir(), possibly due how path separators are handled. Fix this by constructing the paths using project_build_root / 'MSVC_NMake'.
* meson.build: Fix 'meson dist' on WindowsChun-wei Fan2019-12-291-1/+1
| | | | | | | | | | | | Since we are assured that we are using Python 3.x on when we run Meson, we do not really need to look for the 'python3' executable, but we could just use whatever Python interpreter that is used to run Meson. This will fix situations where it is commonly the case where we may have multiple Python 3.x installations on Windows (www.python.org, and those from Cygwin/mingw-w64), so that Meson really uses one and only one Python installation to run everything that is Python-related, which will thus fix '[meson|ninja] dist' on Visual Studio builds.
* Meson/MSVC: Support builds directly from GIT checkoutsChun-wei Fan2019-12-291-4/+0
| | | | | | | | | It appears that if one uses the m4 that is given by mingw-w64 (and perhaps Cygwin), that m4 is enough to generate the sources and headers that we need for the build. So, remove the lines saying building directly from GIT checkouts are not supported.
* meson: Ensure symbols are exported on MSVC buildsChun-wei Fan2019-12-241-0/+9
| | | | | | | | Make sure the correct build macros are specified when building libsigc++, so that: -The symbols are properly exported -We do not break builds as a result of unecesary warnings
* meson: Relax MSVC version requirement to 2015Chun-wei Fan2019-12-241-5/+3
| | | | | | | | | libsigc++ requires a C++-11-compliant compiler, so we can just make the build look for Visual Studio 2015 instead of Visual Studio 2017 15.7. Visual Studio 2013 also works, but since it will spew out loads of warnings and the latest C++-11 version of glibmm is not buildable with Visual Studio 2013, let's just require Visual Studio 2015.
* Add support for building libsigc++-2.0 with MesonKjell Ahlstedt2019-12-2419-0/+1506
| | | | libsigc++-2.0 can be built with either Autotools or Meson.
* Make libsigc_manual.xml validKjell Ahlstedt2019-12-101-4/+4
| | | | Fix errors reported by "xmllint --postvalid".
* tests/test_track_obj: Fix for clang++Kjell Ahlstedt2019-07-031-4/+7
| | | | | | clang++ complains if private members are unused, so make them protected. error: private field 'bar_' is not used [-Werror,-Wunused-private-field]
* 2.10.22.10.2Kjell Ahlstedt2019-06-122-1/+9
|
* Create only .tar.xz tarballsKjell Ahlstedt2018-11-111-1/+1
| | | | | * configure.ac: This is what ftp.gnome.org wants, so this avoids it doing any repackaging. This is what gtkmm does.
* 2.10.12.10.1Kjell Ahlstedt2018-10-302-1/+25
|
* tests: Catch exceptions by const refKjell Ahlstedt2018-10-301-2/+1
| | | | To avoid "error: catching polymorphic type ‘class std::range_error’ by value"
* Update README and .gitignoreKjell Ahlstedt2018-10-302-3/+3
|
* builds: Add README file for MSVC buildsChun-wei Fan2018-10-302-0/+48
| | | | | Let people know how Visual Studio builds can be done and the options that can be used for the builds.
* builds: Remove Visual Studio 2013 projectsChun-wei Fan2018-10-3065-6302/+0
| | | | | | | The NMake Makefiles superseded them, so let's just remove them. This will make builds with later Visual Studio versions simpler, and will make maintaining the Visual Studio build files easier.
* builds: Add NMake MakefilesChun-wei Fan2018-10-3011-69/+533
| | | | | | | | | | | | | | | | This adds a set of NMake Makefiles that can be used to build libsigc++-2.10.x (and the later C++11 versions of libsigc++) with Visual Studio 2013 or later. Building the example, the tests and the benchmarking programs are supported in addition to building the main libsigc++ DLL. Note that for the C++-11 releases, we name the DLLs and LIBs as sigc-vc140-2_0.[dll|lib] or sigc-vc140-d-2_0.[dll|lib] for Visual Studio 2015 and 2017 builds as these builds link to the msvcp140[d].dll and vcruntime140[d].dll C/C++ runtime DLLs. This set of NMake Makefiles are now dist'ed in place of the Visual Studio 2013 project files.
* build: Consolidate source listing into sigc++/filelist.amChun-wei Fan2018-10-302-6/+8
| | | | | | This is for enabling the upcoming NMake Makefiles to use this file as well, in addition to the autotools build files, to build the libsigc++ DLL.
* builds: Rename MSVC_Net2013 as MSVC_NMakeChun-wei Fan2018-10-3069-6/+6
| | | | | This is to prepare for the transition for the Visual Studio build files to NMake Makefiles.
* slot, signal: Avoid compiler warnings from function pointer conversionsKjell Ahlstedt2018-08-292-25/+23
| | | | | | | | | | gcc8 -Wextra prints a warning when a single reinterpret_cast is used for conversion between different types of function pointers. The previous fix with a union in sigc::internal::bitwise_equivalent_cast<>() is not standard C++. Rename the function to function_pointer_cast<>(), and use two reinterpret_casts as recommended in gcc's documentation. Fixes #8
* Update libsigcplusplus.doapKjell Ahlstedt2018-08-021-3/+3
|
* configure.ac: Update home page and bug report addressKjell Ahlstedt2018-08-021-2/+2
|
* README: Update contact informationKjell Ahlstedt2018-08-021-3/+4
|
* Qualify calls to bitwise_equivalent_cast() with namespace namesKjell Ahlstedt2018-07-172-12/+17
| | | | | Otherwise indirect calls from glibmm, with its own bitwise_equivalent_cast(), can be ambiguous due to ADL (argument-dependent lookup).
* slot, signal: Avoid compiler warnings from function pointer conversionsKjell Ahlstedt2018-07-162-12/+31
| | | | | | | | | gcc8 -Wextra prints a warning when reinterpret_cast is used for conversion between different types of function pointers. Avoid that by adding sigc::internal::bitwise_equivalent_cast<>() with a union with members of the two types of function pointers. Fixes #1
* Revert "slot, signal: Avoid compiler warnings from function pointer conversions"Kjell Ahlstedt2018-07-162-98/+28
| | | | | | This reverts commit c6262e0a477b35cd9a4a00c34f3f0a44dcd07210. This can be done in a better way by keeping the union in a template function.
* slot, signal: Avoid compiler warnings from function pointer conversionsKjell Ahlstedt2018-07-132-28/+98
| | | | | | | | gcc8 -Wextra prints a warning when reinterpret_cast is used for conversion between different types of function pointers. Avoid that by instead using a union with members of the two types of function pointers. Fixes #1
* signal_base docs: Warn against deletion during emissionKjell Ahlstedt2017-11-091-0/+10
| | | | | | There is no known ABI-preserving fix for a memory leak, if a signal is deleted during emission. Describe a workaround in the documentation. Bug 167714
* slot_base::set_parent(): Create a dummy slot_rep if necessaryKjell Ahlstedt2017-11-091-2/+11
| | | | | | set_parent() must always store the supplied parent pointer and cleanup function pointer, or else there may be a memory leak. The pointers are stored in slot_rep. Bug 167714
* test_signal: Test calls to signal_base::clear()Kjell Ahlstedt2017-07-171-0/+29
| | | | Call it both during signal emission and otherwise. Bug 784550
* signal_impl::clear(): Don't clear the slot list during signal emissionKjell Ahlstedt2017-07-171-3/+10
| | | | | | If signal_impl::clear() is called during signal emission, don't call slots_.clear(). Let signal_impl::sweep() erase all slots after the signal emission. Bug 784550
* Make --disable-benchmark workChristophe Lermytte2016-11-201-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently, when calling ./configure, the possible outcomes of the enable_benchmark variable are: ./configure -> "" ./configure --enable-benchmark -> "yes" ./configure --enable-benchmark=yes -> "yes" ./configure --enable-benchmark=no -> "yes" ./configure --enable-benchmark=hello -> "yes" ./configure --disable-benchmark -> "yes" With this commit, those values become ./configure -> "" ./configure --enable-benchmark -> "yes" ./configure --enable-benchmark=yes -> "yes" ./configure --enable-benchmark=no -> "no" ./configure --enable-benchmark=hello -> "hello" ./configure --disable-benchmark -> "no" Note that enable_benchmark is currently only being checked for being "yes" or not. Bug #774732
* 2.10.02.10.0Murray Cumming2016-09-202-1/+6
|
* Build: Fix silent buildsKjell Ahlstedt2016-07-182-6/+13
| | | | | | | | | * configure.ac: Pass yes to AM_SILENT_RULES, thus enabling silent builds. Replace MM_AX_CXX_COMPILE_STDCXX_11 by MM_AX_CXX_COMPILE_STDCXX (not necessary for silent builds). * docs/reference/Doxyfile.in: Set QUIET=YES. Update for doxygen 1.8.11 (not necessary for silent builds). Bug #768797
* 2.9.3Murray Cumming2016-07-062-1/+19
|
* signal: Deprecate slots().Murray Cumming2016-07-051-11/+8
| | | | | | | | | Because we don't use it in any tests or examples and probably nobody uses it. It has already been removed from libsigc++-3.0 (which installs in parallel): https://git.gnome.org/browse/libsigcplusplus/commit/?id=fb5d1a55ddd843a1ded635b0ebce4e5b5301fc36 Please tell us if you really need to use this.
* signal: Deprecate emit_reverse().Murray Cumming2016-07-051-2/+23
| | | | | | | | | Because we don't use it in any tests or examples and probably nobody uses it. It has already been removed from libsigc++-3.0 (which installs in parallel): https://git.gnome.org/browse/libsigcplusplus/commit/?id=1a4eee7e8ded2acea94e27af5c94e37dcd9cbb13 Please tell us if you really need to use this.
* Update tests/.gitignoreKjell Ahlstedt2016-06-211-1/+1
|
* Fix build of "Implement slot<R(Arg...)> with variadic template"Chun-wei Fan2016-06-171-1/+1
| | | | | | | | | | * sigc++/functors/macros/slot.h.m4: Fix the use of operator() in the variadic templates usage in the base slot_call as the syntax differs between compilers for this call. This fixes the build of the tests and any items that makes use of sigc++/functors/slot.h on non-GCC, specifically Visual Studio 2013 and 2015. https://bugzilla.gnome.org/show_bug.cgi?id=767777
* Visual Studio builds: Update projectChun-wei Fan2016-06-172-4/+0
| | | | | Remove the sources from the projects that have been removed from the source tree lately.
* Update tests/.gitignoreMurray Cumming2016-04-201-0/+2
|
* benchmark: Use boost::timer instead of Glib::Timer.Murray Cumming2016-04-206-31/+562
| | | | And optionally build it, when --enable-benchmark is passed to configure.
* benchmark: Use the newer syntax.Murray Cumming2016-04-201-13/+13
|
* benchmark: Increase count.Murray Cumming2016-04-201-1/+1
|
* benchmark: Make the 1000 a constant, so we can change it.Murray Cumming2016-04-201-16/+13
|
* benchmark: Rearrange.Murray Cumming2016-04-201-19/+45
|