Clutter, like GTK+ and GLib, has recently switched to a visibility-based
method of exporting symbols, so update the Visual Studio build files to
do likewise, by using __declspec (dllexport). This eliminats the need to
use a .def file to export the symbols. The pre-configured
config.h.win32.in is also updated accordingly for this purpose. The
clutter.symbols file can be dropped if it is not being used otherwise.
This adds a PlatformToolset tag for each configuration so that it is easier
to upgrade the projects to Visual Studio 2012/2013 formats, which are
largely the same as the Visual Studio 2010 projects. We can, for example,
use a script to change the values of the PlatformToolset to make these
projects usable out-of-the-box for Visual Studio 2012/2013.
Like the Visual Studio 2008 projects, give the Visual Studio 2010 projects
an overhaul, where:
-The property sheets are split up, so that they are easier to maintain and
each project only needs to include the necessary parts. The various
projects are updated accordingly, too. The copying of config.h.win32 and
clutter-config.h.win32(_GDK) are now done with custom build rules, so that
these files can be cleaned and/or recopied during a clean, rebuild or
update.
-Clean up the property sheets, to get rid of parts that are actually
repeated. Also update the build macros, so that we won't get warnings
for repeated #defines of macros and fix the build of the various tests/
demo programs.
-Make all projects use Unix line endings, except for the .sln and
README.txt files, which need to have Windows line endings. This makes it
easier to apply patches to these project files.
-Update the installation of headers, as headers are introduced/deprecated.
-Cosmetics: get rid of "\ No newline at end of file".
-Combine entries in the property sheets and make it a bit more flexible,
and drop some redundant items
-Use Custom Build Rules for generating enumeration and marshalling sources,
and the .def file so that they can be wiped off when a "clean" is
requested, and regenerate automatically when the templates/.symbols
files are updated.
-Improve consistency by using ApiVersion rather than ClutterApiVersion
with the Visual Studio project for other components of the Clutter/GTK+
stack
-Get rid of unneeded configs in the "install" project
-Make things a bit cleaner by generating clutter.def in the intermediate
build folder
-Fix the include paths as config.h is now in clutter/
-Make things a little bit more consistent between vs9 and vs10 in terms of
the "install" stage
-Add configuration in Clutter projects to add option to build Clutter with
the GDK3 backend in addition to the Win32 backend
-Add another preconfigured clutter-config.h.win32_GDK which contains
backend configs for both GDK3 and Win32 windowing and input.
Update output DLL/LIB names to be consistent with the autotools output,
due to the newl-introduced multi-backend feature (only the Win32 backend
is supported here for now, GDK3 support will be added when it stabilizes)