| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
| |
Replace /wd4530 with /EHsc, as that is the more proper CXXFlag to use for
Visual Studio builds for C++ projects.
|
|
|
|
|
| |
Doxygen in a main project shall not be called before tag files have been
created or updated in subprojects.
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
Fixes #71
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* meson.build:
* MSVC_NMake/meson.build:
* docs/manual/meson.build:
* docs/reference/meson.build:
* sigc++/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.
|
|
|
|
|
|
| |
* tools/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.
|
| |
|
|
|
|
|
|
|
|
| |
Add meson.build files in all subdirectories of sigc++/ where .h and/or .cc
files are generated. Looks like it's necessary in order to have all
dependent .cc files recompiled when a .h.m4 file has been changed.
Don't know if it has always been necessary, or if it has become necessary
due to changes in Meson and/or Ninja.
|
|
|
|
| |
mm-common can be a subproject of sigc++.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Change libsigc.sourceforge.net to
libsigcplusplus.github.io/libsigcplusplus.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
We need to look for sigc++config.h in $(srcroot)\untracked\MSVC_NMake also, and
make sure that we do not generate sources unnecessarily.
Also streamline the source generating process into the 'all' target, so there
is no more need to run the 'prep-git-build' target.
|
|
|
|
|
| |
This will make the NMake Makefiles capable of building ARM64 binaries of libsigc++,
which can be used on Windows 10 on ARM systems.
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update the syntax of template parameters.
sigc::signal<void,int> -> sigc::signal<void(int)>. The old syntax is
deprecated.
Mention lambda expressions.
Although sigc::retype() is a template function, no template parameters
shall be specified when it's called.
See #59
|
|
|
|
|
|
|
|
|
|
| |
Do some cleanups, to improve maintainability and running speed, where:
* Change instances of 'libsigcpp' to 'sigc'
* "Generate" the build rules for the test and example programs, instead
of hand-writing them, since they use largely similar rules.
* Don't use separate rules to create intermediate directories, so that
we do not need to re-load the Makefiles unnecessarily
|
|
|
|
|
|
|
|
|
| |
This adds rules to use m4 to generate the headers and sources from their .m4
counterparts, which allows building directly from a GIT checkout, after
running the 'prep-git-build' target.
Update the README.txt file to reflect on this enhancement, and make sure the
generated headers are also copied when running the 'install' target
|
|
|
|
|
|
|
|
|
| |
This adds a 'prep-git-build' target which is run before building any of the
other targets so that this paves the first steps in making the libsigc++-2-10
branch buildable directly from a GIT checkout with the NMake Makefiles.
Note that unlike the master (3.x) branch, we still need to use m4 to generate
some sources and headers, which will be covered in the following commit.
|
|
|
|
|
|
|
| |
Make Visual Studio 2019 builds distinct from 2017 builds. Note that for the
libsigc++-2-10 branch, we do not distinguish between Visual Studio 2015, 2017
and 2019 in regards to the built DLL and .lib filenames, since they are
found to be interchangeable.
|
|
|
|
|
| |
This is to avoid confusion if we have the UNIX 'mkdir' command in our PATH, such as
when Cygwin is installed and used.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* MSVC_NMake/meson.build: Copy sigc++config.h with configure_file().
* Makefile.am: Remove tools/dist-cmd.py.
* docs/manual/meson.build:
* docs/reference/meson.build: Don't use tools/dist-cmd.py.
* sigc++/meson.build: Don't use tools/dist-cmd.py.
* meson.build: Use dist-warnings when a tarball is tested by
'ninja dist' or 'meson dist'. Check if doc-reference.py exists, if not
maintainer-mode. Add a better error message if mm-common-get is required
but not found.
* meson_options.txt: Set default value of the 'warnings' to 'min'.
Add 'dist-warnings' with default value 'fatal'.
* tools/dist-cmd.py: Removed file. It's not necessary in add_dist_script()
when the first parameter is python3.path().
|
| |
|
|
|
|
|
| |
and remove the description of the directory structure,
which is not very useful.
|
|
|
|
|
| |
Deprecated SIGCXX API is disabled when example programs are built
with Autotools. Do the same when building with Meson.
|
| |
|
|
|
|
|
|
| |
Don't use perl.path() when configuring Doxyfile, if perl is not found.
Perl is not required, if build-documentation=false.
Fixes #53
|
|
|
|
|
|
| |
Autotools make tarballs called libsigc++-x.y.z.tar.xz. No reason to
change that. The leading "lib" is now also restored in some locations
in the reference documentation.
|
| |
|
|
|
|
|
|
| |
In a git worktree, .git is a regular file.
See https://gitlab.gnome.org/GNOME/pangomm/merge_requests/8
|
|
|
|
| |
Pointed out by Chun-wei Fan in PR #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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This ensures that on Windows, the version info resources are indeed
linked into the libsigc++ DLL.
|
|
|
|
|
|
|
|
|
| |
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'.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
libsigc++-2.0 can be built with either Autotools or Meson.
|
|
|
|
| |
Fix errors reported by "xmllint --postvalid".
|
|
|
|
|
|
| |
clang++ complains if private members are unused, so make them protected.
error: private field 'bar_' is not used [-Werror,-Wunused-private-field]
|
| |
|
|
|
|
|
| |
* configure.ac: This is what ftp.gnome.org wants, so this avoids
it doing any repackaging. This is what gtkmm does.
|