Commit Graph

54 Commits

Author SHA1 Message Date
Chun-wei Fan
499f2e5831 MSVC 2010+ Projects: Update "Installation" Process
Currently, due to the way that Visual Studio 2010+ projects are handled,
the "install" project does not re-build upon changes to the sources, as it
does not believe that its dependencies have changed, although the changed
sources are automatically recompiled.  This means that if a part or more
of the solution does not build, or if the sources need some other fixes
or enhancements, the up-to-date build is not copied automatically, which
can be misleading.

Improve on the situation by forcing the "install" project to trigger its
rebuild, so that the updated binaries can be copied.  This does trigger an
MSBuild warning, but having that warning is way better than not having an
up-to-date build, especially during testing and development.
2014-06-09 18:57:24 +08:00
Chun-wei Fan
20e619f8a6 Visual Studio Builds: Avoid Implicit Linking to SDL
Cogl, when built with the SDL winsys, will include the SDL headers when
Cogl-based programs are built, which causes the SDL's wrapper for main()
to be used on Windows, causing an implicit requirement that all Cogl-based
apps must link to SDL2.lib and SDL2main.lib.  Avoid this behavior by
defining SDL_MAIN_HANDLED in the CFLAGS of the sample and interactive test
programs
2014-04-17 10:53:24 +08:00
Chun-wei Fan
d42cb2a4d3 MSVC Build: Update Clutter DLL Build Defines
Define DLL_EXPORT when we are building the Clutter DLL, to ensure that
constants are exported properly.

https://bugzilla.gnome.org/show_bug.cgi?id=726762
2014-03-20 22:56:07 +08:00
Chun-wei Fan
783bc64a02 Visual Studio Builds: Don't Generate a .def File
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.
2014-03-20 08:57:06 +08:00
Chun-wei Fan
da22baa99d Visual Studio 2010 Projects: Add PlatformToolset Tag
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.
2014-03-06 19:51:50 +08:00
Chun-wei Fan
b52397d374 Overhaul the Visual Studio 2010 Build Files
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".
2014-03-06 16:30:30 +08:00
Chun-wei Fan
74c01cdd0f Visual C++ Projects: Don't build conformance tests
...and drop these project files, as the way how the conformance
tests are built has been totally reworked.  Instead, in the future,
use NMake Makefiles to build them, which will be proposed later.
2013-12-16 09:27:41 +08:00
Chun-wei Fan
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
Chun-wei Fan
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
Chun-wei Fan
cb3a4ac1a2 Visual C++ Builds: Update Header "Installation" 2013-08-29 10:50:08 +08:00
Chun-wei Fan
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
Chun-wei Fan
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
Chun-wei Fan
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
Chun-wei Fan
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
Chun-wei Fan
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
Chun-wei Fan
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
Chun-wei Fan
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
Chun-wei Fan
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
Emmanuele Bassi
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
Chun-wei Fan
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
Chun-wei Fan
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
Chun-wei Fan
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
Chun-wei Fan
26285416b2 Visual C++ 2010: Fix x64 Release_GDK configs 2012-05-24 22:27:57 +08:00
Chun-wei Fan
ac05ad47bf VS property sheets: Correct "install" process
Fix the location where clutter-win32.h is "installed".
2012-05-16 18:58:53 +08:00
Chun-wei Fan
1153e04766 Visual C++ support: Fix clutter.def generation
I forgot about the Visual C++ 2010 files... :|
2012-05-16 18:36:51 +08:00
Chun-wei Fan
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
Chun-wei Fan
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
Chun-wei Fan
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
Chun-wei Fan
a1b8cc4b3b Update test-interactive Visual C++ projects
Link to GDK-Pixbuf as well.
2012-03-20 16:39:25 +08:00
Chun-wei Fan
8e48afd066 Fix "install" paths in VS 2010 property sheets 2012-03-15 16:55:55 +08:00
Chun-wei Fan
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
Chun-wei Fan
d279a13938 Update VS property sheets
"Install" the new headers that were introduced lately.
2012-03-08 17:07:34 +08:00
Emmanuele Bassi
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
Chun-wei Fan
9d9afc0f05 Update VS property sheets
Update the "installation" of headers...
2012-02-29 18:10:03 +08:00
Chun-wei Fan
f861c788c9 Update VS property sheets
"Install" the "new" deprecated/clutter-timeline.h header
2012-02-14 09:52:14 +08:00
Chun-wei Fan
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
Chun-wei Fan
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
Chun-wei Fan
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
Chun-wei Fan
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
Chun-wei Fan
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
Chun-wei Fan
39c3ccfca5 Visual C++ support update
Add Projects to compile the performance test files.
2011-11-15 17:18:51 +08:00
Chun-wei Fan
119169b4a1 Fix up VS property sheets
Should be ..\..\..\clutter\deprecated\clutter-keysyms.h, not
..\..\..\clutter\deprecated\clutter-keysyms-deprecated.h
2011-11-15 15:31:17 +08:00
Chun-wei Fan
794b49990a Update Visual C++ projects
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)
2011-11-15 15:19:09 +08:00
Chun-wei Fan
c73a1fa7df Fix VS property sheets
Should be clutter-keysyms.compat.h that should land in deprecated/, not
clutter-keysyms.h
2011-11-14 13:32:29 +08:00
Chun-wei Fan
bf8f1afb40 Update VS property sheets
In response to the following moved to deprecated in the following commits:

a39be454
main: Move deprecated symbols to a separate header
40d703a0
backend: Move deprecated symbols to a separate header
b19c9196
actor: Move deprecated symbols into separate headers
142cd0bf
Move clutter-keysyms-compat.h to the deprecated section
530b07f1
Don't use a -deprecated suffix for headers
11420a70
group: Move deprecated macro into its own header
98b467f9
stage: Move the deprecated macros to a separate header
2011-11-07 12:46:56 +08:00
Chun-wei Fan
61c3b9395f Fix cally-atkevents-example VS projects
Refer to $(srcroot)\clutter so that the correct Cally headers can be
referenced
2011-11-04 12:01:51 +08:00
Chun-wei Fan
0bc1ac2312 Update VS property sheets
Stop the use of CLUTTER_DISABLE_DEPRECATED and COGL_DISABLE_DEPRECATED, as
now compiler warnings are used instead when deprecated items are used.
2011-10-21 17:53:54 +08:00
Chun-wei Fan
a36ab5787b Rename conform/interactive tests VS projects
Add a -clutter suffix for their project names to avoid clashes with the
COGL test executables
2011-10-20 16:35:38 +08:00
Chun-wei Fan
3a95d81471 Update VS property sheets
Get rid of G_DISABLE_DEPRECATED-warnings are now used to tell people that
GLib-deprecated items is to be avoided
2011-10-17 15:57:19 +08:00
Chun-wei Fan
762a4350d1 Update VS support
-clutter/Makefile.am: Include the deprecated sources as well
-clutter.vc(x)projin: Add clutter/deprecated into the "Additional Include
 Directories"
2011-10-12 17:02:08 +08:00