Skip to content

Commit bed78e3

Browse files
robrykjyrkialakuijala
authored andcommitted
Create 32bit and 64bit build configuration for Windows. (#28)
Makefiles still compile for whatever architecture local C compiler compiles for by default.
1 parent e73ba91 commit bed78e3

File tree

3 files changed

+94
-4
lines changed

3 files changed

+94
-4
lines changed

guetzli.sln

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,19 @@ EndProject
66
Global
77
GlobalSection(SolutionConfigurationPlatforms) = preSolution
88
Debug|Win32 = Debug|Win32
9+
Debug|x64 = Debug|x64
910
Release|Win32 = Release|Win32
11+
Release|x64 = Release|x64
1012
EndGlobalSection
1113
GlobalSection(ProjectConfigurationPlatforms) = postSolution
1214
{C9FCBE14-35DC-3DB0-3EF4-C886AA52A411}.Debug|Win32.ActiveCfg = Debug|Win32
1315
{C9FCBE14-35DC-3DB0-3EF4-C886AA52A411}.Debug|Win32.Build.0 = Debug|Win32
16+
{C9FCBE14-35DC-3DB0-3EF4-C886AA52A411}.Debug|x64.ActiveCfg = Debug|x64
17+
{C9FCBE14-35DC-3DB0-3EF4-C886AA52A411}.Debug|x64.Build.0 = Debug|x64
1418
{C9FCBE14-35DC-3DB0-3EF4-C886AA52A411}.Release|Win32.ActiveCfg = Release|Win32
1519
{C9FCBE14-35DC-3DB0-3EF4-C886AA52A411}.Release|Win32.Build.0 = Release|Win32
20+
{C9FCBE14-35DC-3DB0-3EF4-C886AA52A411}.Release|x64.ActiveCfg = Release|x64
21+
{C9FCBE14-35DC-3DB0-3EF4-C886AA52A411}.Release|x64.Build.0 = Release|x64
1622
EndGlobalSection
1723
GlobalSection(SolutionProperties) = preSolution
1824
HideSolutionNode = FALSE

guetzli.vcxproj

Lines changed: 81 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,18 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<ItemGroup Label="ProjectConfigurations">
4+
<ProjectConfiguration Include="Release|x64">
5+
<Configuration>Release</Configuration>
6+
<Platform>x64</Platform>
7+
</ProjectConfiguration>
48
<ProjectConfiguration Include="Release|Win32">
59
<Configuration>Release</Configuration>
610
<Platform>Win32</Platform>
711
</ProjectConfiguration>
12+
<ProjectConfiguration Include="Debug|x64">
13+
<Configuration>Debug</Configuration>
14+
<Platform>x64</Platform>
15+
</ProjectConfiguration>
816
<ProjectConfiguration Include="Debug|Win32">
917
<Configuration>Debug</Configuration>
1018
<Platform>Win32</Platform>
@@ -17,12 +25,24 @@
1725
<RootNamespace>guetzli</RootNamespace>
1826
</PropertyGroup>
1927
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
28+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
29+
<ConfigurationType>Application</ConfigurationType>
30+
<UseDebugLibraries>false</UseDebugLibraries>
31+
<CharacterSet>Unicode</CharacterSet>
32+
<PlatformToolset>v140</PlatformToolset>
33+
</PropertyGroup>
2034
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
2135
<ConfigurationType>Application</ConfigurationType>
2236
<UseDebugLibraries>false</UseDebugLibraries>
2337
<CharacterSet>Unicode</CharacterSet>
2438
<PlatformToolset>v140</PlatformToolset>
2539
</PropertyGroup>
40+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
41+
<ConfigurationType>Application</ConfigurationType>
42+
<UseDebugLibraries>true</UseDebugLibraries>
43+
<CharacterSet>Unicode</CharacterSet>
44+
<PlatformToolset>v140</PlatformToolset>
45+
</PropertyGroup>
2646
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
2747
<ConfigurationType>Application</ConfigurationType>
2848
<UseDebugLibraries>true</UseDebugLibraries>
@@ -32,27 +52,68 @@
3252
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
3353
<ImportGroup Label="ExtensionSettings">
3454
</ImportGroup>
55+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
56+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
57+
</ImportGroup>
3558
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
3659
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
3760
</ImportGroup>
61+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
62+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
63+
</ImportGroup>
3864
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
3965
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
4066
</ImportGroup>
4167
<PropertyGroup Label="UserMacros" />
68+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
69+
<LinkIncremental>false</LinkIncremental>
70+
<OutDir>bin\x86_64\Release\</OutDir>
71+
<IntDir>obj\x86_64\Release\</IntDir>
72+
<TargetName>guetzli</TargetName>
73+
<TargetExt>.exe</TargetExt>
74+
</PropertyGroup>
4275
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
4376
<LinkIncremental>false</LinkIncremental>
44-
<OutDir>bin\Release\</OutDir>
45-
<IntDir>obj\Release\</IntDir>
77+
<OutDir>bin\x86\Release\</OutDir>
78+
<IntDir>obj\x86\Release\</IntDir>
79+
<TargetName>guetzli</TargetName>
80+
<TargetExt>.exe</TargetExt>
81+
</PropertyGroup>
82+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
83+
<LinkIncremental>true</LinkIncremental>
84+
<OutDir>bin\x86_64\Debug\</OutDir>
85+
<IntDir>obj\x86_64\Debug\</IntDir>
4686
<TargetName>guetzli</TargetName>
4787
<TargetExt>.exe</TargetExt>
4888
</PropertyGroup>
4989
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
5090
<LinkIncremental>true</LinkIncremental>
51-
<OutDir>bin\Debug\</OutDir>
52-
<IntDir>obj\Debug\</IntDir>
91+
<OutDir>bin\x86\Debug\</OutDir>
92+
<IntDir>obj\x86\Debug\</IntDir>
5393
<TargetName>guetzli</TargetName>
5494
<TargetExt>.exe</TargetExt>
5595
</PropertyGroup>
96+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
97+
<ClCompile>
98+
<PrecompiledHeader>NotUsing</PrecompiledHeader>
99+
<WarningLevel>Level3</WarningLevel>
100+
<PreprocessorDefinitions>GFLAGS_NAMESPACE=google;%(PreprocessorDefinitions)</PreprocessorDefinitions>
101+
<AdditionalIncludeDirectories>.;third_party\butteraugli;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
102+
<Optimization>Full</Optimization>
103+
<FunctionLevelLinking>true</FunctionLevelLinking>
104+
<IntrinsicFunctions>true</IntrinsicFunctions>
105+
<MinimalRebuild>false</MinimalRebuild>
106+
<StringPooling>true</StringPooling>
107+
</ClCompile>
108+
<Link>
109+
<SubSystem>Console</SubSystem>
110+
<GenerateDebugInformation>false</GenerateDebugInformation>
111+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
112+
<OptimizeReferences>true</OptimizeReferences>
113+
<AdditionalDependencies>shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
114+
<EntryPointSymbol>mainCRTStartup</EntryPointSymbol>
115+
</Link>
116+
</ItemDefinitionGroup>
56117
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
57118
<ClCompile>
58119
<PrecompiledHeader>NotUsing</PrecompiledHeader>
@@ -74,6 +135,22 @@
74135
<EntryPointSymbol>mainCRTStartup</EntryPointSymbol>
75136
</Link>
76137
</ItemDefinitionGroup>
138+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
139+
<ClCompile>
140+
<PrecompiledHeader>NotUsing</PrecompiledHeader>
141+
<WarningLevel>Level3</WarningLevel>
142+
<PreprocessorDefinitions>GFLAGS_NAMESPACE=google;%(PreprocessorDefinitions)</PreprocessorDefinitions>
143+
<AdditionalIncludeDirectories>.;third_party\butteraugli;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
144+
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
145+
<Optimization>Disabled</Optimization>
146+
</ClCompile>
147+
<Link>
148+
<SubSystem>Console</SubSystem>
149+
<GenerateDebugInformation>true</GenerateDebugInformation>
150+
<AdditionalDependencies>shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
151+
<EntryPointSymbol>mainCRTStartup</EntryPointSymbol>
152+
</Link>
153+
</ItemDefinitionGroup>
77154
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
78155
<ClCompile>
79156
<PrecompiledHeader>NotUsing</PrecompiledHeader>

premake5.lua

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
workspace "guetzli"
22
configurations { "Release", "Debug" }
3+
filter "action:vs*"
4+
platforms { "x86_64", "x86" }
35

46
flags { "C++11" }
57

@@ -11,13 +13,18 @@ workspace "guetzli"
1113
project "guetzli"
1214
kind "ConsoleApp"
1315
language "C++"
16+
flags "C++11"
1417
includedirs { ".", "third_party/butteraugli" }
1518
filter "action:gmake"
1619
-- We add pthread, because gflags_nothreads depends on it (sic!) for some
1720
-- versions of gflags.
1821
links { "png", "gflags_nothreads", "z", "pthread" }
1922
filter "action:vs*"
2023
links { "shlwapi" }
24+
filter "platforms:x86"
25+
architecture "x86"
26+
filter "platforms:x86_64"
27+
architecture "x86_64"
2128
filter {}
2229
-- This should work with gflags 2.x. The gflags namespace is absent in
2330
-- gflags-2.0, which is the version in Ubuntu Trusty package repository.

0 commit comments

Comments
 (0)