Commit Graph

179 Commits

Author SHA1 Message Date
2a660fa298 Fully rework the conformance test suite
The current conformance test suite is suboptimal in many ways.

All tests are built into the same binary, which makes adding new tests,
builting tests, and running groups of tests much more awkward than it
needs to be. The first issue, especially, raises the bar of contribution
in a significant way, while the other two take their toll on the
maintainer. All of these changes were introduced back when we had both
Clutter and Cogl tests in tree, and because we were building the test
suite for every single change; since then, Cogl moved out of tree with
all its tests, and we build the conformance test suite only when running
the `check` make target.

This admittedly large-ish commit changes the way the conformance test
suite works, taking advantage of the changes in the GTest API and test
harness.

First of all, all tests are now built separately, using their own test
suite as defined by each separate file. All tests run under the TAP
harness provided by GTest and Automake, to gather a proper report using
the Test Anything Protocol without using the `gtester` harness and the
`gtester-report` script. We also use the Makefile rules provided by GLib
to vastly simplify the build environment for the conformance test suite.

On top of the changes for the build and harness, we also provide new API
for creating and running test suites for Clutter. The API is public,
because the test suite has to use it, but it's minimal and mostly
provides convenience wrappers around GTest that make writing test units
for Clutter easier.

This commit disables all tests in the conformance test suite, as well as
moving the data files outside of the tests/data directory; the next few
commits will re-establish the conformance test suite separately so we
can check that everything works in a reliable way.
2013-12-12 18:51:11 +00:00
142c1bbee7 MSVC Builds: Silence Cogl Deprecation Warnings
Cogl-1.16 has much deprecation that is done, which causes the build of
Clutter to generate lots of C4996 (deprecation) warnings.  As in commit
fa8809d7 (Add COGL_DISABLE_DEPRECATION_WARNINGS to the build flags), do
likewise by adding this macro in the Visual C++ property sheets, so we
would have much less C4996 warnings during the build.

Please see bug 703877 for the rationale behind this.
2013-09-10 16:18:15 +08:00
daaec724dc Clean up Visual Studio Build Files
-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
2013-08-29 17:31:42 +08:00
cb3a4ac1a2 Visual C++ Builds: Update Header "Installation" 2013-08-29 10:50:08 +08:00
558f142818 Update Conformance Tests MSVC Project
Use CLUTTER_ENABLE_EXPERIMENTAL_API as there are experimental APIs that
are used and tested here, which will fix the build
2013-07-26 09:32:31 +08:00
3715a6687c Update the dependencies for the MinGW build script
As the binaries from Tor Lillqvist are no longer being kept up-to-date
this also builds more of the deps from source.

https://bugzilla.gnome.org/show_bug.cgi?id=701356
2013-07-12 17:59:54 +01:00
c9583792cb build: Fix up the silent rules prefixes
Automake increased the whitespace, so we need to do that for our "I
Can't Believe It's Not Autotool™" rules.
2013-05-15 15:07:15 +01:00
bb8ef4e5c0 test-interactive-clutter.vc(x)projin: Fix includes
We need to include the gdk-pixbuf headers as well...
2012-12-28 15:54:33 +08:00
26380730bf Fix Clutter Visual C++ projects
Fix the *_GDK configs as GDK headers will include GDK-Pixbuf headers as
well.
2012-12-28 15:46:51 +08:00
183e7b6176 Visual C++ projects: Use MultiByte character set
Use MultiByte character set for all projects and configs, to avoid any
inconsistencies that may arise.
2012-12-17 11:25:10 +08:00
6f55746c83 Update Clutter MSVC projects
We now link to gdk-3.0.lib, not gdk-win32-3.0.lib, so that we are more
consistent to the autotools builds.
2012-12-14 19:49:00 +08:00
3b3db5084a Fix Visual C++ 2010 property sheets
Fix up the paths where glib-mkenums and glib-genmarshal is called.  Somehow
this slipped by earlier checks :|
2012-12-14 19:42:09 +08:00
a87fd7aae4 Update Visual C++ projects
-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
2012-09-28 18:59:27 +08:00
8f9b9713f2 Visual C++: Don't disable warning C4819
The C4819 warnings appear due to a bug on Visual C++ when running on
non-English locales, specifically CJK versions/locales of Windows.

Re-enable this, like what is done in GLib, and add a note in the
Visual C++ README.txt's to tell people about this, so that Cogl will be
built correctly.
2012-08-21 15:26:48 +08:00
9f83b64182 build: Move config.h under clutter/
We should not have header files in the project root.
2012-07-30 10:54:18 +01:00
e659a90b28 Visual C++ support: Fix "install" process
Apparently the update to build the GDK backend broke the "installation"
process of the binaries.  Fix that by grouping the binaries as Release or
Debug.
2012-07-03 17:10:28 +08:00
78a7c5b8cf Update Visual C++ property sheets
Remove some unneeded defines in the compilation-CLUTTER_PREFIX and
CLUTTER_DATADIR are not used anywhere in the code, as it seems.
2012-07-02 19:27:46 +08:00
700a9be836 build: Clean output of the release rules 2012-06-29 11:21:06 +01:00
c4acae7752 build: Remove gcov from the build
We want to switch to lcov, so let's start with a clean slate.
2012-06-19 14:55:10 +01:00
6597245912 build: Remove tarball upload to clutter-project.org
Without being on the Intel network, you can't upload the tarball on
clutter-project.org, so it'll have to be done manually from now on.
2012-06-19 09:38:01 +01:00
0230f97f60 Visual C++ support: Copy clutter-gdk.h as well
... when the GDK backend is also built
2012-05-24 23:34:36 +08:00
26285416b2 Visual C++ 2010: Fix x64 Release_GDK configs 2012-05-24 22:27:57 +08:00
403e1c7e70 modules: Use 0.10 branch for GStreamer packages 2012-05-22 13:58:40 +01:00
be5eb2f163 vs9/clutter.sln: Fix missing build item 2012-05-22 01:50:12 +08:00
ac05ad47bf VS property sheets: Correct "install" process
Fix the location where clutter-win32.h is "installed".
2012-05-16 18:58:53 +08:00
1153e04766 Visual C++ support: Fix clutter.def generation
I forgot about the Visual C++ 2010 files... :|
2012-05-16 18:36:51 +08:00
d5851c8bf9 Visual C++ support: Fix clutter.def generation
Some Windows-specific functions were not exported due to this problem.
2012-05-16 18:35:27 +08:00
37e9215521 Visual C++ support: Avoid redefinition warnings
CLUTTER_WINDOWING_GDK is defined in the (pre-configured) clutter-config.h,
so don't define that in the Projects again.
2012-05-16 17:21:10 +08:00
ee72d9b4af Visual C++ support: Add support to build GDK backend
-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.
2012-05-14 16:18:13 +08:00
c70a7b9470 modules: Point to the correct branch of Cogl
Clutter requires the cogl-1.10 branch of Cogl.
2012-05-11 13:48:41 +01:00
9b1b554c1a Update Visual C++ property sheets
-"Install" the newly-introduced headers
-Fix the situation when the Clutter sources are not unpacked in the root
 folder of a drive (ex: Clutter is unpacked in c:\blah or d:\blah, instead
 of c:\ or d:\)
2012-03-20 16:39:25 +08:00
a1b8cc4b3b Update test-interactive Visual C++ projects
Link to GDK-Pixbuf as well.
2012-03-20 16:39:25 +08:00
8e48afd066 Fix "install" paths in VS 2010 property sheets 2012-03-15 16:55:55 +08:00
e1c99ed3c4 Fixup VS 2010 property sheets
There are some properties which were not correctly set.  My bad for not
fixing these sooner.
2012-03-08 17:44:32 +08:00
d279a13938 Update VS property sheets
"Install" the new headers that were introduced lately.
2012-03-08 17:07:34 +08:00
fde094dce2 build: Remove clutter-version.h.win32.in
The clutter-version.h header file is now completely generic, and does
not need to be masked by a Windows-specific header when building under
MSVC.
2012-02-29 15:20:58 +00:00
9d9afc0f05 Update VS property sheets
Update the "installation" of headers...
2012-02-29 18:10:03 +08:00
f861c788c9 Update VS property sheets
"Install" the "new" deprecated/clutter-timeline.h header
2012-02-14 09:52:14 +08:00
3adcbb265c Update the Clutter moduleset 2012-02-13 11:49:10 +00:00
ca9b27615d Update Visual C++ property sheets
-Stop installing the cookbook items for now
-Reflect on newly added and deprecated public headers
2012-02-10 16:10:47 +08:00
5220d659e0 Update Clutter Visual C++ projects
Link also to GIO as the GResource APIs from GIO is now being used
2012-02-10 15:50:55 +08:00
e0e6b72b67 clutter.modules: Bump json-glib 2012-01-12 23:21:45 +00:00
c4590e59c7 Visual C++ 2008 projects update
Refines things a little bit from the last Visual C++ 2008 project updates.
2011-12-13 13:07:46 +08:00
1dd28537c4 Update Visual C++ 2010 Projects
Disable deprecation warning messages for the accessibility, performance
and micro-bench programs.
2011-12-13 13:05:16 +08:00
91b0aadbd4 Update Visual C++ 2008 Projects
Turn off the deprecation warnings for the accessibility, performance
and micro-bench programs.
2011-12-13 12:56:53 +08:00
36c312cb24 Update Clutter Visual C++ 2008 Project
Made up for missed pre-build command for x64/Release.
2011-12-08 17:58:17 +08:00
b6c5c0602d Update VS property sheets
Generate clutter-marshal.[ch] before the clutter-enum-types.[ch].
Strangely Visual C++ does funny things if this was done the other way
around. :|
2011-12-08 17:39:26 +08:00
daf2b67ed2 Update VS property sheets
Use a pregenerated .bat file to generate the clutter-enum-types.[ch], which
will greatly simplify the maintenanace of the VS build files as public
headers are added or removed.
2011-12-08 17:02:17 +08:00
73e7404652 build: Clean up the VS build rules
Some minor cleanups of the Visual Studio rules in the interactive and
conformance test suites.
2011-11-18 15:12:45 +00:00
39c3ccfca5 Visual C++ support update
Add Projects to compile the performance test files.
2011-11-15 17:18:51 +08:00