Commit Graph

12 Commits

Author SHA1 Message Date
Chun-wei Fan
dc4361f4cb MSVC 2010+ builds: Explicitly use /LTCG
The Visual Studio projects used a default setting for link-time code
generation, which is a part of the various linker optimizations that is
available, which is set as /LTCG for Visual Studio 2013 and earlier.

This changed in Visual Studio 2015 to become /LTCG:incremental, which would
cause GResources-generated code to be optimized out during linking, unless
they were referred to directly in the main line code (such as when the
GResource is manually registered), causing programs to crash as a result as
they can't find the needed code/data at run time.

Fix this by explicitly setting /LTCG for all release builds, for Visual
Studio 2010 and later.

https://bugzilla.gnome.org/show_bug.cgi?id=752837
2015-10-13 19:30:22 +08:00
Chun-wei Fan
74c9eaac11 MSVC Builds: Few More Enahncements
Update the .pdb file generation for the MSVC 2010+ DLLs (and the x64 gspawn
helper programs), so that they match the names of the DLLs/EXEs that are
built.  Also update the .lib generation so that all will use -$(ApiVersion)
from the property sheets instead of the -2.0 which was previously hard
coded (as we will eventually move into GLib 3.x in the future, for example)
2015-03-04 20:11:43 +08:00
Chun-wei Fan
d01a075632 Visual Studio Projects: Use Unix Line Endings
...where possible, to make application of patches easier in the future.
The README.txt's and the .sln files are still in Windows/DOS line endings
as they need to be so.
2013-12-27 10:50:35 +08:00
Chun-wei Fan
113793a442 MSVC 2010 Project Files: Split up the Property Sheets
Like the Visual Studio 2008 project files, split up the property sheets
so to ease maintenace, and to prepare to use autotools to fill in the
header entries to "install".

Put some of the items that are frequently repeated in the projects as well,
also to simplify maintenance.

Also, update the autotools files to automate the upgrade of Visual Studio
2010 project as we now have multiple property sheets to copy and process.
2013-08-21 16:57:11 +08:00
Chun-wei Fan
c5b9a47fac Visual C++ 2010 projects: Prepare support for VS2012
Add the PlatformToolset tag to the project configs so that we can use add a
simple script later to the autotools files to copy the projects and change
the value (v100 -> v110) of that tag (and other simple changes) in order
that we can quickly provide and maintain support for Visual Studio 2012
with minimal effort.

Note that at the moment GLib does not yet support the API/SDK requirements
for Windows 8 Modern UI (formerly known as Metro), but this paves the very
initial step.
2012-11-05 12:31:44 +08:00
Chun-wei Fan
5328f760ee Update gspawn-win*helper* Visual C++ projects
Add GLIB_COMPILATION to the preprocessor definitions to fix the build.
2012-08-30 17:14:13 +08:00
Chun-wei Fan
810a296d42 Visual C++ projects: Clean/fix up
Clean/fix up the Preprocessor Definitions for the various projects, where
we purge out the unneeded macros and add _DEBUG to the Debug builds of
various projects that somehow lacked this.

This will also fix the GIO build under Visual C++ 2008, as the _DEBUG macro
in the release builds will cause a debug entry to appear in its manifest
file during the build, which will cause GIO-using applications to fail
to run on systems not running Visual C++/Studio 2008 due to its embedding
of a badly-generated manifest file.
2012-04-24 00:03:33 +08:00
Chun-wei Fan
92b84e88ab Fix gspawn-win32-helper Visual C++ projects
The name of the executable for the Release|Win32 and Release|x64 configs
were mixed up.  Fix that.  DOH! for not noting this earlier.
2012-03-28 15:12:04 +08:00
Chun-wei Fan
f5f242caf8 Update VS projects
Get rid of _CRT_SECURE_NO_WARNINGS and _CRT_NONSTDC_NO_WARNINGS
from the preprocessor definitions as those two macros are now defined
in msvc_recommended_pragmas.h, which is force-included in these projects
via the property sheets.  This will silence C4005 warnings on macro
redefinition.
2011-10-12 11:23:49 +08:00
Chun-wei Fan
c68683f780 Visual C++ 2010 project files update
Consolidate my previous commit into property file... should have realized
this sooner...
2011-06-20 11:50:57 +08:00
Chun-wei Fan
801e52f809 Update Visual C++ 2010 Projects
-Seperate intermediate directories for each project to avoid intermittent
 MSBuild errors that a build log cannot be written while in use, and
 update the property sheet as necessary.
-Minor cleanups of uneeded tags in the projects/properties
2011-06-20 11:34:15 +08:00
Chun-wei Fan
cd23ae7134 Visual C++ 2010 Project Files
These are the actual GLib VS2010 project files (*.vcxproj,
*.vcxproj.filters) and property sheet file (*.props) that are used
to compile the GLib, GModule, GObject, GThread, GIO DLLs, along with
the gspawn-win32-helper* programs, glib-genmarshal utility and
testglib test program.  A readme.txt file is also enclosed for
references for building GLib under VS2010.

Note that the project files for GLib, GIO and GObject are templates
that makes use of the autotools items of my last commit so that maintenance
of those files are simplified as new source files are added to these rather
frequently.

Suggestions are welcome for these-please let me know via BugZilla.

Thank you!
2011-02-22 20:08:36 +08:00