From bed78e31d73142bc1bab953d8de287795bdcaf26 Mon Sep 17 00:00:00 2001 From: Robert Obryk Date: Tue, 17 Jan 2017 18:13:05 +0100 Subject: [PATCH] Create 32bit and 64bit build configuration for Windows. (#28) Makefiles still compile for whatever architecture local C compiler compiles for by default. --- guetzli.sln | 6 ++++ guetzli.vcxproj | 85 ++++++++++++++++++++++++++++++++++++++++++++++--- premake5.lua | 7 ++++ 3 files changed, 94 insertions(+), 4 deletions(-) diff --git a/guetzli.sln b/guetzli.sln index 9abc34d0..0cb3249d 100644 --- a/guetzli.sln +++ b/guetzli.sln @@ -6,13 +6,19 @@ EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 Release|Win32 = Release|Win32 + Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {C9FCBE14-35DC-3DB0-3EF4-C886AA52A411}.Debug|Win32.ActiveCfg = Debug|Win32 {C9FCBE14-35DC-3DB0-3EF4-C886AA52A411}.Debug|Win32.Build.0 = Debug|Win32 + {C9FCBE14-35DC-3DB0-3EF4-C886AA52A411}.Debug|x64.ActiveCfg = Debug|x64 + {C9FCBE14-35DC-3DB0-3EF4-C886AA52A411}.Debug|x64.Build.0 = Debug|x64 {C9FCBE14-35DC-3DB0-3EF4-C886AA52A411}.Release|Win32.ActiveCfg = Release|Win32 {C9FCBE14-35DC-3DB0-3EF4-C886AA52A411}.Release|Win32.Build.0 = Release|Win32 + {C9FCBE14-35DC-3DB0-3EF4-C886AA52A411}.Release|x64.ActiveCfg = Release|x64 + {C9FCBE14-35DC-3DB0-3EF4-C886AA52A411}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/guetzli.vcxproj b/guetzli.vcxproj index 4639a143..015d5eda 100644 --- a/guetzli.vcxproj +++ b/guetzli.vcxproj @@ -1,10 +1,18 @@  + + Release + x64 + Release Win32 + + Debug + x64 + Debug Win32 @@ -17,12 +25,24 @@ guetzli + + Application + false + Unicode + v140 + Application false Unicode v140 + + Application + true + Unicode + v140 + Application true @@ -32,27 +52,68 @@ + + + + + + + + false + bin\x86_64\Release\ + obj\x86_64\Release\ + guetzli + .exe + false - bin\Release\ - obj\Release\ + bin\x86\Release\ + obj\x86\Release\ + guetzli + .exe + + + true + bin\x86_64\Debug\ + obj\x86_64\Debug\ guetzli .exe true - bin\Debug\ - obj\Debug\ + bin\x86\Debug\ + obj\x86\Debug\ guetzli .exe + + + NotUsing + Level3 + GFLAGS_NAMESPACE=google;%(PreprocessorDefinitions) + .;third_party\butteraugli;%(AdditionalIncludeDirectories) + Full + true + true + false + true + + + Console + false + true + true + shlwapi.lib;%(AdditionalDependencies) + mainCRTStartup + + NotUsing @@ -74,6 +135,22 @@ mainCRTStartup + + + NotUsing + Level3 + GFLAGS_NAMESPACE=google;%(PreprocessorDefinitions) + .;third_party\butteraugli;%(AdditionalIncludeDirectories) + ProgramDatabase + Disabled + + + Console + true + shlwapi.lib;%(AdditionalDependencies) + mainCRTStartup + + NotUsing diff --git a/premake5.lua b/premake5.lua index 194e79d8..388298be 100644 --- a/premake5.lua +++ b/premake5.lua @@ -1,5 +1,7 @@ workspace "guetzli" configurations { "Release", "Debug" } + filter "action:vs*" + platforms { "x86_64", "x86" } flags { "C++11" } @@ -11,6 +13,7 @@ workspace "guetzli" project "guetzli" kind "ConsoleApp" language "C++" + flags "C++11" includedirs { ".", "third_party/butteraugli" } filter "action:gmake" -- We add pthread, because gflags_nothreads depends on it (sic!) for some @@ -18,6 +21,10 @@ workspace "guetzli" links { "png", "gflags_nothreads", "z", "pthread" } filter "action:vs*" links { "shlwapi" } + filter "platforms:x86" + architecture "x86" + filter "platforms:x86_64" + architecture "x86_64" filter {} -- This should work with gflags 2.x. The gflags namespace is absent in -- gflags-2.0, which is the version in Ubuntu Trusty package repository.