Commit Graph

66 Commits

Author SHA1 Message Date
Chun-wei Fan
7c40f060cc Visual Studio Builds: Speed Up Release Builds
Use the multiprocessor compilation (/MP) option so that release build times
can be cut down quite a bit.  This will generate a brief warning for debug
builds as such builds use /Gm, but otherwise the build will proceed
normally albeit it would be slower.

Also use the /d2Zi+ flag for Visual Studio 2010 (and later) builds to log
more useful information in the .pdb files that are generated, to aid
debugging release builds when necessary.
2015-03-06 17:42:20 +08:00
Chun-wei Fan
4b1b912b45 MSVC 2010 Builds: Fix .pdb File Generation
To make the .pdb filename match the filename of the built target, one must
specify the .pdb file name if the target filename does not match the
project name for Visual Studio 2010 and later.  Update the projects
accordingly.
2015-03-06 17:39:17 +08:00
Chun-wei Fan
6a060d4064 Clean up MSVC 2010 "Install"
Remove from the property sheet file the empty lines that are not really
needed.
2015-03-06 17:31:03 +08:00
Chun-wei Fan
f735220a9b 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:43:12 +08:00
Chun-wei Fan
2e0989bbaf Visual Studio Builds: Avoid Implicit Link to SDL
Cogl, when built with the SDL winsys, includes the SDL headers in its
headers, which causes main() to be defined to SDL's main() wrapper on
Windows, which means that SDL2.lib and SDL2main.lib need to be linked to
every single program that links to Cogl with the SDL winsys.

Avoid this behavior by defining SDL_MAIN_HANDLED in the CFLAGS of the
sample and test programs, and let people know that this is the case.
2014-04-17 10:33:55 +08:00
Chun-wei Fan
3e494a13f8 Visual Studio Builds: Update .def Files Generation
Define COGL_HAS_GTYPE_SUPPORT during the preprocessing of the .symbols
files so that the _get_gtype symbols can be exported.
2014-04-07 12:39:31 +08:00
Chun-wei Fan
39d30a35a7 Visual Studio Builds: Update README.txt's
Let people know that for Visual Studio builds GLib is a hard requirement,
and let the people also know that SDL-2.x is now used for builds supporting
the SDL winsys.  Also let people know that current situation regarding
building and linking Cogl applications with the SDL winsys built in.
2014-04-07 10:30:19 +08:00
Chun-wei Fan
c1286307a3 build/win32/vs9/Makefile.am: Remove Non-Existing Entry
A project file was removed, which was not updated in Makefile.am, so make
up for that.
2014-03-12 15:41:09 +08:00
Chun-wei Fan
4730782a20 Visual Studio 2010 Projects: Add a PlatformToolset Tag
This adds a PlatformToolset tag in order to make upgrading the projects to
Visual Studio 2012/2013 formats easier, especially when done with a script.
The script, for example, can change the value inside these tags
apporpriately to do the upgrade job quite easily.
2014-03-06 19:14:38 +08:00
Chun-wei Fan
efbd121f10 Visual Studio 2010 Builds: Fix Header Installation
Some headers were deprecated and therefore moved, so update for that.
2014-03-04 15:34:33 +08:00
Chun-wei Fan
0b96d15315 Visual C++ 2008 Builds: Fix Installation of Binaries
The *.dll, *.exe and *.lib files weren't being copied in the *_SDL configs
as the project looked for them in the wrong place.  Correct that problem.
2014-03-04 15:28:52 +08:00
Chun-wei Fan
206ea0de6b Update the Visual Studio 2010 Projects
This updates the Visual Studio 2010 Projects in the following ways,
similar to the recent changes to the Visual Studio 2008 projects:

-Make all the copying of the pre-configured header files custom build
 rules, so that it is cleaner when people clean their builds, and the files
 can be re-copied when updated.
-Split up the property sheets, so to ease future maintenance
-Make the cogl-path library built as a DLL
-Build and link against SDL-2.x for SDL builds
-Make everything except the .sln file and the README.txt file use UNIX line
 endings, for easier maintenance.
-Merge cogl_sdl.sln and install-sdl.vcxproj into cogl.sln and
 install.vcxproj respectively.
-Update build of the conformance test to not use COGL_COMPILATION, and make
 it link to cogl-path.
2014-03-03 17:48:31 +08:00
Chun-wei Fan
b616877516 build/win32/vs9/cogl.sln: Update
Make the install project depend on cogl-path, so that we are certain that
the cogl-path DLL gets "installed".
2014-03-03 16:59:03 +08:00
Chun-wei Fan
4b40a8fe83 MSVC 2008 Builds: Split Up the Property Sheets
Split up the property sheets, so that it is easier to maintain, and update
the project files accordingly.  Also clean up the project files by
finishing up the merge of the *_sdl.vcproj items into their regular
counterparts, and dropping all the *_sdl.* files.

Make use of UNIX line endings for all the MSVC 2008 build files, except the
.sln file and the README.txt files, for easier maintenance.
2014-03-03 15:18:54 +08:00
Chun-wei Fan
ab16d26e8f MSVC 2008 Builds: Link Conformance Test to cogl-path
We need to link the conformance test executable to cogl-path, so make that
project depend on the cogl-path project, so that it will link to it as
well.
2014-03-03 13:52:45 +08:00
Chun-wei Fan
2568182506 MSVC 2008 Builds: Build the SDL-2.x example
...instead of the SDL-1.x example.  The SDL-1.x example is not going to run
well against Cogl built against SDL-2.x.
2014-03-03 11:10:46 +08:00
Chun-wei Fan
e69dd84004 build/win32/vs9/cogl.vsprops: Update Header Installation
Update the headers "installation" as some headers have been made
deprecated.
2014-02-27 18:43:12 +08:00
Chun-wei Fan
a4bf3c6f88 MSVC 2008 Projects: Build cogl-path as a DLL
So that it will be like what is done in the autotools builds now.  Also
clean up the cogl-path and cogl-pango projects.
2014-02-27 18:29:39 +08:00
Chun-wei Fan
6109c47189 Fix Conformance Test MSVC 2008 Project
Don't define COGL_COMPILATION when we build the conformance tests.
2014-02-27 18:07:56 +08:00
Chun-wei Fan
521f12847e build/win32/vs9/cogl.vcprojin: Use SDL 2.x for SDL Support
As SDL-2.x has been officially released for a while, update the Visual
Studio 2008 projects to build and link against the SDL-2.x libraries.
2014-02-27 17:51:01 +08:00
Chun-wei Fan
7c12086f9a Update Visual Studio 2008 Solution File
Combine the parts to build Cogl with SDL support into a single solution
file, so to ease future maintenance.
2014-02-27 17:47:46 +08:00
Chun-wei Fan
8b9f545e4c MSVC 2008 Projects: Use Custom Build Rules
...for all of the copying of the pre-configured headers for Cogl.  This
makes it much easier for people using the projects for building Cogl to
clean up files that are "generated", and this commit is the last bit for
it.  Also clean up the property sheets as a result.

Also fix the Cogl project that it does indeed look for headers in
cogl/deprecated, so that the build is fixed.

Similar updates to the Visual Studio 2010 Projects will follow.
2014-02-27 17:43:59 +08:00
Chun-wei Fan
f70bbf8c7b Update Visual Studio Project Files
The solution files which are updated due to the split of Cogl-Path need
to be pushed as well, which were forgotten.  Sorry about this, and fix
.def file generation on Cogl with SDL on Visual Studio 2010 builds.
2013-09-03 12:48:11 +08:00
Chun-wei Fan
08fecbaa84 Add Autotools Items to Complete the Cogl-Path MSVC Projects
This adds a centralized autotools Makefile to be used in the completion
of the project files for Cogl-Path for now, which can be used also in
Cogl, Cogl-Pango and possibly Cogl-Gst so that we could have less clutter
in the autotools files.

This patch set will also allow the Cogl-Path project files to be filled in
during 'make dist' and make them distributed during a tarball release.

Reviewed-by: Neil Roberts <neil@linux.intel.com>
(cherry picked from commit 491020592b240ca5f2885dee104c88bf431858ae)

Conflicts:
	cogl-path/Makefile.am
2013-09-02 16:22:08 +01:00
Chun-wei Fan
1f5f931e6f MSVC builds: Update "Installation" of Headers
Some of the headers for Cogl was moved/split out to Cogl-Path, so update
the installation of the headers accordingly
2013-08-28 09:50:43 +08:00
Chun-wei Fan
db73744a1e MSVC Projects: Add project templates for cogl-path
This adds template project files that is used to build cogl-path, where the
source files can be filled in using autotools.  Note that although
cogl-path is built as a static library, items to build DLLs for this
is intentionally left in there as this is intended to be a shared library
later.
2013-08-27 15:43:55 +08:00
Chun-wei Fan
f2d785e22b Visual Studio Projects: Use Custom Build Rules
Use custom build rules to generate the enumeration sources and the .def
files so that the IDE will regenerate those files upon change and
clean them when a clean up request is requested.
2013-08-26 18:39:02 +08:00
Chun-wei Fan
8d7a9d606a Update Visual Studio Property Sheets
-Add items to generate the enumeration sources
-Add items to build the CoglPath library, which was split out
2013-08-26 18:18:17 +08:00
Chun-wei Fan
887d2ebf2e Update Visual Studio Property Sheets
"Install" the newly-introduced public headers that are needed.
2013-07-25 13:32:17 +08:00
Chun-wei Fan
13fe92cbbd Visual Studio Builds: Update Conformance Test Projects
We need to include the headers and built the sources in test-fixtures to
build the conformance tests properly.
2013-07-25 13:30:04 +08:00
Chun-wei Fan
72b25bd098 Update Visual Studio Project Files
-Make entries of the property sheets more like the property sheets of the
 projects in the GTK+/Clutter stack, mainly changing CoglApiVersion to
 ApiVersion, for better consistency, and update the corresponding projects
-Add command item in property sheets to build introspection files for Cogl
 and Cogl Pango.
-Stop building and installing the cogl-msaa example, as it is something
 that isn't really meant for Windows, and causes an internal compiler error
 on Visual Studio 2010 x64 builds
2013-03-07 11:37:32 +08:00
Chun-wei Fan
f0f44793b1 Update Visual Studio property sheets
Some public headers were added, so these need to be "installed" as well.
Also clean up the preprocessor definitions as they were meant to be
in cogl/cogl-defines.h.
2013-03-01 16:00:44 +08:00
Chun-wei Fan
1ddf5e30c1 Fix Cogl Visual Studio Projects
Some GL driver sources were moved and added, so these sources and paths
must be added/changed in the Cogl projects
2013-03-01 15:58:46 +08:00
Chun-wei Fan
9cc076b14c Update Visual C++ property sheets
Remove unneeded items.
2012-12-24 12:23:27 +08:00
Chun-wei Fan
12010882e6 Fix Visual C++ 2008 "install" process
Like the Visual Studio 2010 builds, the install project needs to be split
into two, one for the WGL-only configs and another for the WGL+SDL
configs, so that the Cogl and Cogl-Pango DLLs and LIBs can be correctly
copied during the "install" stage, as the resulting DLLs for all configs
land in {Release|Debug}\{Win32|x64}\bin.
2012-12-14 11:08:07 +08:00
Chun-wei Fan
6c438e0df5 Update Visual Studio 2010 solution files
Cosmetic change to the solution files headers so that they will be
consistent across the board
2012-12-13 17:42:01 +08:00
Chun-wei Fan
8106b054a2 build/win32/vs*/cogl_sdl.sln: Fix line endings
The .sln files need to have Windows/DOS line endings to work in the best
way.
2012-12-13 17:40:50 +08:00
Chun-wei Fan
5bec5005d4 build/win32/vs*/cogl_sdl.sln: Temporary commit to fix line endings 2012-12-13 17:39:05 +08:00
Chun-wei Fan
cfdc1c95eb Clean up Visual C++ projects
Since commit 7253c5ca (Bug 682071-cogl/cogl-sdl.h: MSVC: Link to SDL when
apps are built), on Visual C++ we link to SDL.lib and SDLmain.lib using
a #pragma comment directive in cogl/cogl-sdl.h, so we no longer need
specific project configs for Cogl programs which build against a Cogl built
with SDL.  This removes those unneeded configs.

Also "install" cogl/cogl-sdl.h when Cogl is built with the SDL winsys, as
it is a needed header
2012-09-28 18:45:41 +08:00
Chun-wei Fan
c0e9d9235a Update Visual C++ projects
-Make "install" parts for VS9 and VS10 more consistent with each other
-Create the .def files in the respective intermediate/.obj folders, so that
 it is cleaner duringg the build
-Make up for missed files to "install"
2012-09-28 17:14:28 +08:00
Chun-wei Fan
615e319384 cogl-crate.vcproj: Don't link to SDL for non-SDL x64 builds
The x64 Release (non-SDL) build was linking to SDL.
Remove that dependency.
2012-08-17 10:01:57 +08:00
Chun-wei Fan
e6bd6128a2 Fix cogl.vcproj
x64 release builds with the SDL winsys need to link to the SDL libraries as
well, which was missed.  Make up for that.
2012-08-17 00:04:32 +08:00
Chun-wei Fan
d559c93f8c Visual C++ support: Re-enable C4819 warnings
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.

(cherry picked from commit a93eafe6596e3b262dbb86f24a456e53b044055a)
2012-08-06 18:51:32 +01:00
Chun-wei Fan
72f992effe Update Visual C++ project files
-The test program and examples must be linked to SDL too when COGL is
 built with the SDL renderer, so add configs accordingly.

-Also use Multibyte character sets (i.e. don't -DUNICODE) for all configs,
 like what GLib does, for consistency.

-Fix the VS2010 property sheets that was accidently malformed.

(cherry picked from commit 9ed541b4e35208df87ffaa5fbbb39e11e8c247ef)
2012-08-06 18:51:31 +01:00
Chun-wei Fan
0ac0ef34db Fix up Visual C++ property sheets
The command to copy cogl-gl-header.h from the pre-configured
cogl-gl-header.h.win32 is wrong.  Fix that.

Also add -DCOGL_ENABLE_EXPERIMENTAL_API for all creations of the cogl.def

(cherry picked from commit 6df152c411749a610a57ecaab6a983b51d2a7612)
2012-08-06 18:51:31 +01:00
Tomeu Vizoso
93d0de1d9a Mass rename CLUTTER_COMPILATION to COGL_COMPILATION
Reviewed-by: Neil Roberts <neil@linux.intel.com>

(cherry picked from commit a99512e5798e48ffa3a9a1a7eb98bc55647ee1b6)
2012-08-06 14:27:45 +01:00
Chun-wei Fan
37fbfffcd0 Visual C++ 2008 support: Add note in README.txt
Tell people that they need to get a stdint.h implementation for Visual C++
2008 for use with Cogl-master/1.99.x+, and where they can obtain such an
implementation.

This is not needed for Visual C++ 2010 as it ships with stdint.h by
default.

(cherry picked from commit 938d70b78d672dd07e7124f7573d17d3e3079365)
2012-08-06 14:27:42 +01:00
Chun-wei Fan
23becf67a7 Fix Visual C++ build
-Create a pre-defined cogl/cogl-gl-header.h(.win32) that is to be used on
 any Windows builds, and adapt the MSVC build process to set up and use
 that file.
-Fix up glib-mkenums code generation .bat file that is generated during
 "make"/"make dist", like the autotools-based builds.
-Since cogl/cogl-defines.h now contain versionioning info, and it no longer
 directly includes the GL headers, update the pre-configured
 cogl-defines.h[.win32|.win32_SDL] and use autotools to fill in the
 versioning info during "make"/"make dist".
-Fix up cogl/cogl-pango.rc.in so that they reflect the cogl-2.x versioning
 stuff correctly and versioning info can be filled in correctly during
 "make"/"make dist"

Reviewed-by: Robert Bragg <robert@linux.intel.com>

(cherry picked from commit 7ff42bb1c5280b0f53370f8d94ef5f10c9f39e2f)
2012-08-06 14:27:42 +01:00
Chun-wei Fan
413862e49e Visual C++ projects Update
Update SDL build configs as there are now SDL-specific public APIs and
new SDL sources.

(cherry picked from commit 006f9f7c44136fc8524649fb790da7f19cd0dc4d)
2012-08-06 14:27:41 +01:00
Chun-wei Fan
596b508653 Fix VS property sheets
Fix the situation where glib-mkenums isn't located correctly when COGL
is not built in a root folder of a drive (ex: COGL is not unpacked in
c:\ or D:\, but in c:\blah or d:\blah)
2012-03-20 15:39:58 +08:00