Commit Graph

51 Commits

Author SHA1 Message Date
Chun-wei Fan
0809fbfe03 MSVC Builds: "Install" the .pdb Files
"Install" the .pdb files with the built DLLs and examples, as the .pdb
files are already generated for all builds, which are useful for debugging
during Cogl development, or during development of Cogl-using items.

Also be more selective on the LIBs, DLLs and EXEs that are copied, so that
we only copy the items built during Cogl compilation when the project set
is used in a grand solution, such as when building the entire Clutter
stack, which will avoid items being incorrectly copied or extra and
unneeded items being copied.
2015-03-06 17:46:18 +08:00
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
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
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
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
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
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
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
Chun-wei Fan
a8f8380644 Update VS property sheets
We no longer have COGL_ENABLE_EXPERIMENTAL_API in cogl.symbols as those
APIs are always built into the COGL DLL, so the
-DCOGL_ENABLE_EXPERIMENTAL_API is not needed anymore in the cogl.def
generation process.
2012-03-13 23:24:17 +08:00
Chun-wei Fan
b13392dbe2 Update VS property sheets
"Install" the cogl2-compatibility.h header which will only be in 1.10.x
2012-03-13 22:14:47 +08:00
Chun-wei Fan
267480caea Update VS property sheets
Update the "installation" of headers...
2012-03-08 16:41:20 +08:00
Chun-wei Fan
e654e3f699 Update Visual C++ property sheets
Make sure GLib support functions are placed into the cogl.def file so
that they will be exported.
2012-02-10 11:37:54 +08:00
Chun-wei Fan
f075e4c7d7 Update VS property sheets
"Install" the "new" cogl-glib-source.h and cogl-poll.h.
2012-01-06 16:01:51 +08:00
Chun-wei Fan
c7eaf4cd11 Update Visual C++ property sheets
Re-apply the cogl-defines.h as appropriate if one chooses to change
his/her mind on whether he/she wants to build the SDL winsys.
2011-12-20 23:30:41 +08:00
Chun-wei Fan
9c73da59a5 build/win32/vs10/README.txt: Correct wording
Should read "Visual C++ 2010", not "Visual C++ 2008"-sorry for the
oversight.
2011-12-20 22:44:59 +08:00
Chun-wei Fan
e215902110 Bug 666349: Dist files needed by MSVC for SDL winsys
Distribute the new VS2008/2010 project/solution files and the
pre-configured cogl-defines.h(.win32_SDL) needed for the build with MSVC.
2011-12-20 22:41:55 +08:00
Chun-wei Fan
3e4a2e1bb4 Bug 666349: Update MSVC files to compile SDL winsys
This had to be in another commit as git am did not like a mixture of
file updates with Windows and Unix EOL.

Should deal with the conflicts that Neil talked about in his comments
for the bug :)
2011-12-20 22:41:36 +08:00
Chun-wei Fan
eeffa12188 Fix the EOL for the cogl_sdl.sln files
The Visual C++ .sln files must have Windows EOL-somehow GIT insisted that
they are added with UNIX EOL :|
2011-12-20 22:39:02 +08:00
Chun-wei Fan
02a83c8966 Bug 666349: Add/update Visual C++ projects to compile SDL winsys
This includes the SDL+COGL test program...

The corresponding README.txt's have been updated with corresponding info
for this support.
2011-12-20 22:36:34 +08:00
Chun-wei Fan
0e99461f6e Update VS projects
Integrate the COGL/COGL-Pango .rc files into the build so that the built
DLLs reveal the versioning and copyright info
2011-12-15 20:31:30 +08:00
Chun-wei Fan
5335ceb9ea Update Visual C++ property sheets
Use a pre-generated .bat to create the cogl-enum-types.[ch] files.

This will greatly simplify the maintenance process of the property sheets
when public headers are added/removed.
2011-12-08 16:12:01 +08:00
Chun-wei Fan
d16131a09f VS Property sheets update
Add the CLUTTER_COMPILATION macro for compiling the conformance tests
2011-12-07 17:33:43 +08:00
Chun-wei Fan
4261debc51 VS Support: Install cogl-snippet.h as well
...Due to the newly added header introduced by the snippets API
2011-12-07 16:51:32 +08:00