[gtk+/gtk-3-18] MSVC builds: Ensure /LTCG when necessary
- From: Chun-wei Fan <fanchunwei src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/gtk-3-18] MSVC builds: Ensure /LTCG when necessary
- Date: Fri, 23 Oct 2015 02:25:22 +0000 (UTC)
commit fb8c947091b2e3ff204dc97cc74714518837ee9e
Author: Chun-wei Fan <fanchunwei src gnome org>
Date: Fri Oct 23 10:21:25 2015 +0800
MSVC builds: Ensure /LTCG when necessary
gtk3-demo, gtk3-demo-application and gtk3-icon-factory are built using
/opt:noref as they use GResources without --manual-register, meaning that
flag is used to avoid the linker from optimizing out the GResource items
for release builds.
Visual Studio 2015 changed its default link-time code generation setting
to /LTCG:incremental, which would cause problems as it will cause the
linker to optimize out the GResource items from the compiled code, so fix
this by enforcing /LTCG for these three items.
build/win32/vs10/gtk3-demo-application.vcxprojin | 2 +
build/win32/vs10/gtk3-demo.vcxprojin | 30 +++++++++++----------
build/win32/vs10/gtk3-icon-browser.vcxprojin | 2 +
3 files changed, 20 insertions(+), 14 deletions(-)
---
diff --git a/build/win32/vs10/gtk3-demo-application.vcxprojin
b/build/win32/vs10/gtk3-demo-application.vcxprojin
index 1d7d9af..a2b8e5b 100644
--- a/build/win32/vs10/gtk3-demo-application.vcxprojin
+++ b/build/win32/vs10/gtk3-demo-application.vcxprojin
@@ -107,6 +107,7 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>false</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -151,6 +152,7 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>false</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
diff --git a/build/win32/vs10/gtk3-demo.vcxprojin b/build/win32/vs10/gtk3-demo.vcxprojin
index 16b1e7a..614fada 100644
--- a/build/win32/vs10/gtk3-demo.vcxprojin
+++ b/build/win32/vs10/gtk3-demo.vcxprojin
@@ -96,14 +96,11 @@
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
- <Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_DEBUG;$(GtkPrefixDefine);%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PreprocessorDefinitions>$(GtkPrefixDefine);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
@@ -114,17 +111,24 @@
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
+ <FunctionLevelLinking>false</FunctionLevelLinking>
+ <OptimizeReferences>false</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
+ <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
+ <TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
+ <Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>$(GtkPrefixDefine);%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <PreprocessorDefinitions>_DEBUG;$(GtkPrefixDefine);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
@@ -135,13 +139,10 @@
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
- <FunctionLevelLinking>false</FunctionLevelLinking>
- <OptimizeReferences>false</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
+ <TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@@ -165,6 +166,7 @@
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
+ <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
diff --git a/build/win32/vs10/gtk3-icon-browser.vcxprojin b/build/win32/vs10/gtk3-icon-browser.vcxprojin
index 80fd216..c934e30 100644
--- a/build/win32/vs10/gtk3-icon-browser.vcxprojin
+++ b/build/win32/vs10/gtk3-icon-browser.vcxprojin
@@ -109,6 +109,7 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>false</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -155,6 +156,7 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>false</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]