From a4da2174f58169654f3f4275b6542d124bfa65c6 Mon Sep 17 00:00:00 2001 From: Guillaume Dumont Date: Mon, 10 Feb 2014 13:48:33 -0500 Subject: [PATCH 1/5] Added missing DEFINE_validator macro to windows gflags.h --- src/windows/gflags/gflags.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/windows/gflags/gflags.h b/src/windows/gflags/gflags.h index 8b70a37..840b229 100644 --- a/src/windows/gflags/gflags.h +++ b/src/windows/gflags/gflags.h @@ -136,9 +136,14 @@ extern GFLAGS_DLL_DECL bool RegisterFlagValidator(const uint64* flag, extern GFLAGS_DLL_DECL bool RegisterFlagValidator(const double* flag, bool (*validate_fn)(const char*, double)); extern GFLAGS_DLL_DECL bool RegisterFlagValidator(const std::string* flag, - bool (*validate_fn)(const char*, - const std::string&)); + bool(*validate_fn)(const char*, + const std::string&)); +// Convenience macro for the registration of a flag validator +#define DEFINE_validator(name, validator) \ + static const bool name##_validator_registered = \ + google::RegisterFlagValidator(&FLAGS_##name, validator) + // -------------------------------------------------------------------- // These methods are the best way to get access to info about the From 14106ab6d05a19b612d6b183bd397f64664356a6 Mon Sep 17 00:00:00 2001 From: Guillaume Dumont Date: Mon, 10 Feb 2014 14:20:09 -0500 Subject: [PATCH 2/5] Added VS 2013 projects and static library project --- gflags-vs2013.sln | 47 ++++ .../gflags_unittest-vs2013.vcxproj | 194 +++++++++++++++ .../libgflags-static-vs2013.vcxproj | 225 ++++++++++++++++++ vsprojects/libgflags/libgflags-vs2013.vcxproj | 225 ++++++++++++++++++ 4 files changed, 691 insertions(+) create mode 100644 gflags-vs2013.sln create mode 100644 vsprojects/gflags_unittest/gflags_unittest-vs2013.vcxproj create mode 100644 vsprojects/libgflags-static/libgflags-static-vs2013.vcxproj create mode 100644 vsprojects/libgflags/libgflags-vs2013.vcxproj diff --git a/gflags-vs2013.sln b/gflags-vs2013.sln new file mode 100644 index 0000000..d9f0b65 --- /dev/null +++ b/gflags-vs2013.sln @@ -0,0 +1,47 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.30110.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libgflags", "vsprojects\libgflags\libgflags-vs2013.vcxproj", "{FB27FBDB-E6C0-4D00-A7F8-1EEEF1B48ABC}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libgflags-static", "vsprojects\libgflags-static\libgflags-static-vs2013.vcxproj", "{8708F73E-BD71-4E7D-9792-CED30A31BDCA}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gflags_unittest", "vsprojects\gflags_unittest\gflags_unittest-vs2013.vcxproj", "{4B263748-5F0F-468C-8C5C-ED2682BB6BE3}" +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 + {FB27FBDB-E6C0-4D00-A7F8-1EEEF1B48ABC}.Debug|Win32.ActiveCfg = Debug|Win32 + {FB27FBDB-E6C0-4D00-A7F8-1EEEF1B48ABC}.Debug|Win32.Build.0 = Debug|Win32 + {FB27FBDB-E6C0-4D00-A7F8-1EEEF1B48ABC}.Debug|x64.ActiveCfg = Debug|x64 + {FB27FBDB-E6C0-4D00-A7F8-1EEEF1B48ABC}.Debug|x64.Build.0 = Debug|x64 + {FB27FBDB-E6C0-4D00-A7F8-1EEEF1B48ABC}.Release|Win32.ActiveCfg = Release|Win32 + {FB27FBDB-E6C0-4D00-A7F8-1EEEF1B48ABC}.Release|Win32.Build.0 = Release|Win32 + {FB27FBDB-E6C0-4D00-A7F8-1EEEF1B48ABC}.Release|x64.ActiveCfg = Release|x64 + {FB27FBDB-E6C0-4D00-A7F8-1EEEF1B48ABC}.Release|x64.Build.0 = Release|x64 + {8708F73E-BD71-4E7D-9792-CED30A31BDCA}.Debug|Win32.ActiveCfg = Debug|Win32 + {8708F73E-BD71-4E7D-9792-CED30A31BDCA}.Debug|Win32.Build.0 = Debug|Win32 + {8708F73E-BD71-4E7D-9792-CED30A31BDCA}.Debug|x64.ActiveCfg = Debug|x64 + {8708F73E-BD71-4E7D-9792-CED30A31BDCA}.Debug|x64.Build.0 = Debug|x64 + {8708F73E-BD71-4E7D-9792-CED30A31BDCA}.Release|Win32.ActiveCfg = Release|Win32 + {8708F73E-BD71-4E7D-9792-CED30A31BDCA}.Release|Win32.Build.0 = Release|Win32 + {8708F73E-BD71-4E7D-9792-CED30A31BDCA}.Release|x64.ActiveCfg = Release|x64 + {8708F73E-BD71-4E7D-9792-CED30A31BDCA}.Release|x64.Build.0 = Release|x64 + {4B263748-5F0F-468C-8C5C-ED2682BB6BE3}.Debug|Win32.ActiveCfg = Debug|Win32 + {4B263748-5F0F-468C-8C5C-ED2682BB6BE3}.Debug|Win32.Build.0 = Debug|Win32 + {4B263748-5F0F-468C-8C5C-ED2682BB6BE3}.Debug|x64.ActiveCfg = Debug|x64 + {4B263748-5F0F-468C-8C5C-ED2682BB6BE3}.Debug|x64.Build.0 = Debug|x64 + {4B263748-5F0F-468C-8C5C-ED2682BB6BE3}.Release|Win32.ActiveCfg = Release|Win32 + {4B263748-5F0F-468C-8C5C-ED2682BB6BE3}.Release|Win32.Build.0 = Release|Win32 + {4B263748-5F0F-468C-8C5C-ED2682BB6BE3}.Release|x64.ActiveCfg = Release|x64 + {4B263748-5F0F-468C-8C5C-ED2682BB6BE3}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/vsprojects/gflags_unittest/gflags_unittest-vs2013.vcxproj b/vsprojects/gflags_unittest/gflags_unittest-vs2013.vcxproj new file mode 100644 index 0000000..9aecd84 --- /dev/null +++ b/vsprojects/gflags_unittest/gflags_unittest-vs2013.vcxproj @@ -0,0 +1,194 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {4B263748-5F0F-468C-8C5C-ED2682BB6BE3} + Win32Proj + gflags_unittest + + + + Application + MultiByte + v120 + + + Application + MultiByte + v120 + + + Application + MultiByte + v120 + + + Application + MultiByte + v120 + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(SolutionDir)\$(Platform)\$(PlatformToolset)\$(Configuration)\ + $(Platform)\$(PlatformToolset)\$(Configuration)\ + true + true + $(SolutionDir)\$(Platform)\$(PlatformToolset)\$(Configuration)\ + $(Platform)\$(PlatformToolset)\$(Configuration)\ + false + false + AllRules.ruleset + AllRules.ruleset + + + + + AllRules.ruleset + AllRules.ruleset + + + + + + + $(SolutionDir)\$(Platform)\$(PlatformToolset)\$(Configuration)\ + $(Platform)\$(PlatformToolset)\$(Configuration)\ + + + $(SolutionDir)\$(Platform)\$(PlatformToolset)\$(Configuration)\ + $(Platform)\$(PlatformToolset)\$(Configuration)\ + + + + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + + + Level3 + EditAndContinue + + + $(OutDir)gflags_unittest.exe + true + $(OutDir)gflags_unittest.pdb + Console + MachineX86 + + + + + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebug + + + Level3 + ProgramDatabase + + + $(OutDir)gflags_unittest.exe + true + $(OutDir)gflags_unittest.pdb + Console + + + + + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + MultiThreaded + + + Level3 + ProgramDatabase + + + $(OutDir)gflags_unittest.exe + true + Console + true + true + MachineX86 + + + + + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + MultiThreaded + + + Level3 + ProgramDatabase + + + $(OutDir)gflags_unittest.exe + true + Console + true + true + + + + + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + MultiThreadedDebugDLL + MultiThreadedDebugDLL + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + MultiThreadedDLL + MultiThreadedDLL + + + + + + + + + + + + {fb27fbdb-e6c0-4d00-a7f8-1eeef1b48abc} + + + + + + \ No newline at end of file diff --git a/vsprojects/libgflags-static/libgflags-static-vs2013.vcxproj b/vsprojects/libgflags-static/libgflags-static-vs2013.vcxproj new file mode 100644 index 0000000..e55d190 --- /dev/null +++ b/vsprojects/libgflags-static/libgflags-static-vs2013.vcxproj @@ -0,0 +1,225 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {8708F73E-BD71-4E7D-9792-CED30A31BDCA} + libgflags + Win32Proj + libgflags-static + + + + StaticLibrary + MultiByte + v120 + + + StaticLibrary + MultiByte + v120 + + + StaticLibrary + MultiByte + v120 + + + StaticLibrary + MultiByte + v120 + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(SolutionDir)\$(Platform)\$(PlatformToolset)\$(Configuration)\ + $(Platform)\$(PlatformToolset)\$(Configuration)\ + true + true + $(SolutionDir)\$(Platform)\$(PlatformToolset)\$(Configuration)\ + $(Platform)\$(PlatformToolset)\$(Configuration)\ + false + false + AllRules.ruleset + AllRules.ruleset + + + + + AllRules.ruleset + AllRules.ruleset + + + + + + + $(SolutionDir)\$(Platform)\$(PlatformToolset)\$(Configuration)\ + $(Platform)\$(PlatformToolset)\$(Configuration)\ + + + $(SolutionDir)\$(Platform)\$(PlatformToolset)\$(Configuration)\ + $(Platform)\$(PlatformToolset)\$(Configuration)\ + + + + Disabled + WIN32;_DEBUG;_WINDOWS;_USRDLL;GFLAGS_DLL_DECL=;GFLAGS_DLL_DECLARE_FLAG=;GFLAGS_DLL_DEFINE_FLAG=;GFLAGS_DLL_DECL_FOR_UNITTESTS==;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + + + Level3 + EditAndContinue + + + $(OutDir)libgflags-static-debug.dll + true + $(OutDir)libgflags-static-debug.pdb + Windows + $(OutDir)libgflags-static-debug.lib + MachineX86 + + + + + Disabled + WIN32;_DEBUG;_WINDOWS;_USRDLL;GFLAGS_DLL_DECL=;GFLAGS_DLL_DECLARE_FLAG=;GFLAGS_DLL_DEFINE_FLAG=;GFLAGS_DLL_DECL_FOR_UNITTESTS=;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebug + + + Level3 + ProgramDatabase + + + $(OutDir)libgflags-static-debug.dll + true + $(OutDir)libgflags-static-debug.pdb + Windows + $(OutDir)libgflags-static-debug.lib + + + + + WIN32;NDEBUG;_WINDOWS;_USRDLL;GFLAGS_DLL_DECL=;GFLAGS_DLL_DECLARE_FLAG=;GFLAGS_DLL_DEFINE_FLAG=;GFLAGS_DLL_DECL_FOR_UNITTESTS==;%(PreprocessorDefinitions) + MultiThreaded + + + Level3 + ProgramDatabase + + + $(OutDir)libgflags-static.dll + true + Windows + true + true + $(OutDir)libgflags-static.lib + MachineX86 + + + + + WIN32;NDEBUG;_WINDOWS;_USRDLL;GFLAGS_DLL_DECL=;GFLAGS_DLL_DECLARE_FLAG=;GFLAGS_DLL_DEFINE_FLAG=;GFLAGS_DLL_DECL_FOR_UNITTESTS==;%(PreprocessorDefinitions) + MultiThreaded + + + Level3 + ProgramDatabase + + + $(OutDir)libgflags-static.dll + true + Windows + true + true + $(OutDir)libgflags-static.lib + + + + + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + MultiThreadedDebugDLL + MultiThreadedDebugDLL + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + MultiThreadedDLL + MultiThreadedDLL + + + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + MultiThreadedDebugDLL + MultiThreadedDebugDLL + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + MultiThreadedDLL + MultiThreadedDLL + + + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + MultiThreadedDebugDLL + MultiThreadedDebugDLL + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + MultiThreadedDLL + MultiThreadedDLL + + + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + MultiThreadedDebugDLL + MultiThreadedDebugDLL + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + MultiThreadedDLL + MultiThreadedDLL + + + + + + + + + + + + + + \ No newline at end of file diff --git a/vsprojects/libgflags/libgflags-vs2013.vcxproj b/vsprojects/libgflags/libgflags-vs2013.vcxproj new file mode 100644 index 0000000..3e8d8df --- /dev/null +++ b/vsprojects/libgflags/libgflags-vs2013.vcxproj @@ -0,0 +1,225 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {FB27FBDB-E6C0-4D00-A7F8-1EEEF1B48ABC} + libgflags + Win32Proj + libgflags + + + + DynamicLibrary + MultiByte + v120 + + + DynamicLibrary + MultiByte + v120 + + + DynamicLibrary + MultiByte + v120 + + + DynamicLibrary + MultiByte + v120 + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(SolutionDir)\$(Platform)\$(PlatformToolset)\$(Configuration)\ + $(Platform)\$(PlatformToolset)\$(Configuration)\ + true + true + $(SolutionDir)\$(Platform)\$(PlatformToolset)\$(Configuration)\ + $(Platform)\$(PlatformToolset)\$(Configuration)\ + false + false + AllRules.ruleset + AllRules.ruleset + + + + + AllRules.ruleset + AllRules.ruleset + + + + + + + $(SolutionDir)\$(Platform)\$(PlatformToolset)\$(Configuration)\ + $(Platform)\$(PlatformToolset)\$(Configuration)\ + + + $(SolutionDir)\$(Platform)\$(PlatformToolset)\$(Configuration)\ + $(Platform)\$(PlatformToolset)\$(Configuration)\ + + + + Disabled + WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBGFLAGS_EXPORTS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + + + Level3 + EditAndContinue + + + $(OutDir)libgflags-debug.dll + true + $(OutDir)libgflags-debug.pdb + Windows + $(OutDir)libgflags-debug.lib + MachineX86 + + + + + Disabled + WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBGFLAGS_EXPORTS;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebug + + + Level3 + ProgramDatabase + + + $(OutDir)libgflags-debug.dll + true + $(OutDir)libgflags-debug.pdb + Windows + $(OutDir)libgflags-debug.lib + + + + + WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBGFLAGS_EXPORTS;%(PreprocessorDefinitions) + MultiThreaded + + + Level3 + ProgramDatabase + + + $(OutDir)libgflags.dll + true + Windows + true + true + $(OutDir)libgflags.lib + MachineX86 + + + + + WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBGFLAGS_EXPORTS;%(PreprocessorDefinitions) + MultiThreaded + + + Level3 + ProgramDatabase + + + $(OutDir)libgflags.dll + true + Windows + true + true + $(OutDir)libgflags.lib + + + + + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + MultiThreadedDebugDLL + MultiThreadedDebugDLL + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + MultiThreadedDLL + MultiThreadedDLL + + + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + MultiThreadedDebugDLL + MultiThreadedDebugDLL + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + MultiThreadedDLL + MultiThreadedDLL + + + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + MultiThreadedDebugDLL + MultiThreadedDebugDLL + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + MultiThreadedDLL + MultiThreadedDLL + + + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + MultiThreadedDebugDLL + MultiThreadedDebugDLL + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + ..\..\src\windows; ..\..\src;%(AdditionalIncludeDirectories) + MultiThreadedDLL + MultiThreadedDLL + + + + + + + + + + + + + + \ No newline at end of file From 4fb07bd7c7cdcd5395c6e0e2e9cd835b3a192c7b Mon Sep 17 00:00:00 2001 From: Guillaume Dumont Date: Mon, 10 Feb 2014 14:34:49 -0500 Subject: [PATCH 3/5] Renamed static library in Debug configs --- vsprojects/libgflags-static/libgflags-static-vs2013.vcxproj | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/vsprojects/libgflags-static/libgflags-static-vs2013.vcxproj b/vsprojects/libgflags-static/libgflags-static-vs2013.vcxproj index e55d190..6baef6e 100644 --- a/vsprojects/libgflags-static/libgflags-static-vs2013.vcxproj +++ b/vsprojects/libgflags-static/libgflags-static-vs2013.vcxproj @@ -112,6 +112,9 @@ $(OutDir)libgflags-static-debug.lib MachineX86 + + $(OutDir)$(TargetName)-debug$(TargetExt) + @@ -131,6 +134,9 @@ Windows $(OutDir)libgflags-static-debug.lib + + $(OutDir)$(TargetName)-debug$(TargetExt) + From 7a65c1a839fe35fd0b46dfb19bcef800f6f416a8 Mon Sep 17 00:00:00 2001 From: Guillaume Dumont Date: Mon, 10 Feb 2014 14:42:25 -0500 Subject: [PATCH 4/5] Fixed preprocessor definitions in static lib project --- vsprojects/libgflags-static/libgflags-static-vs2013.vcxproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/vsprojects/libgflags-static/libgflags-static-vs2013.vcxproj b/vsprojects/libgflags-static/libgflags-static-vs2013.vcxproj index 6baef6e..83484c0 100644 --- a/vsprojects/libgflags-static/libgflags-static-vs2013.vcxproj +++ b/vsprojects/libgflags-static/libgflags-static-vs2013.vcxproj @@ -95,7 +95,7 @@ Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;GFLAGS_DLL_DECL=;GFLAGS_DLL_DECLARE_FLAG=;GFLAGS_DLL_DEFINE_FLAG=;GFLAGS_DLL_DECL_FOR_UNITTESTS==;%(PreprocessorDefinitions) + WIN32;_DEBUG;_WINDOWS;_USRDLL;GFLAGS_DLL_DECL=;GFLAGS_DLL_DECLARE_FLAG=;GFLAGS_DLL_DEFINE_FLAG=;GFLAGS_DLL_DECL_FOR_UNITTESTS=;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug @@ -140,7 +140,7 @@ - WIN32;NDEBUG;_WINDOWS;_USRDLL;GFLAGS_DLL_DECL=;GFLAGS_DLL_DECLARE_FLAG=;GFLAGS_DLL_DEFINE_FLAG=;GFLAGS_DLL_DECL_FOR_UNITTESTS==;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;_USRDLL;GFLAGS_DLL_DECL=;GFLAGS_DLL_DECLARE_FLAG=;GFLAGS_DLL_DEFINE_FLAG=;GFLAGS_DLL_DECL_FOR_UNITTESTS=;%(PreprocessorDefinitions) MultiThreaded @@ -159,7 +159,7 @@ - WIN32;NDEBUG;_WINDOWS;_USRDLL;GFLAGS_DLL_DECL=;GFLAGS_DLL_DECLARE_FLAG=;GFLAGS_DLL_DEFINE_FLAG=;GFLAGS_DLL_DECL_FOR_UNITTESTS==;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;_USRDLL;GFLAGS_DLL_DECL=;GFLAGS_DLL_DECLARE_FLAG=;GFLAGS_DLL_DEFINE_FLAG=;GFLAGS_DLL_DECL_FOR_UNITTESTS=;%(PreprocessorDefinitions) MultiThreaded From 93fafeeb63fe4c4eed885422a4c748d06b453d3f Mon Sep 17 00:00:00 2001 From: Guillaume Dumont Date: Mon, 10 Feb 2014 16:15:53 -0500 Subject: [PATCH 5/5] Added autopackage file and PS script to generate the packages --- .gitignore | 3 +- contrib/coapp/BuildAndWriteNugetPackage.ps1 | 25 +++++++ contrib/coapp/gflags.autopkg | 73 +++++++++++++++++++++ 3 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 contrib/coapp/BuildAndWriteNugetPackage.ps1 create mode 100644 contrib/coapp/gflags.autopkg diff --git a/.gitignore b/.gitignore index 6b65910..6965249 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ ipch *.vcxproj.user *.opensdf *.sdf -*.suo \ No newline at end of file +*.suo +*.nupkg \ No newline at end of file diff --git a/contrib/coapp/BuildAndWriteNugetPackage.ps1 b/contrib/coapp/BuildAndWriteNugetPackage.ps1 new file mode 100644 index 0000000..9b1f3ce --- /dev/null +++ b/contrib/coapp/BuildAndWriteNugetPackage.ps1 @@ -0,0 +1,25 @@ +# see http://blogs.msdn.com/b/webdev/archive/2012/08/22/visual-studio-project-compatability-and-visualstudioversion.aspx +$toolsets = @("v120","v110","v100") +$platforms = @("Win32","x64") +$configs = @("Debug","Release") + +$sln = "..\..\gflags-vs2013.sln" + +foreach($platform in $platforms) +{ + foreach($config in $configs) + { + foreach($toolset in $toolsets) + { + Write-Host "#############################################################################" -ForegroundColor Red + Write-Host "Building $platform, $config, $toolset" -ForegroundColor Red + Write-Host "#############################################################################" -ForegroundColor Red + msbuild $sln /p:VisualStudioVersion=12.0 /p:PlatformToolset=$toolset /p:Platform=$platform /p:Configuration=$config + } + } +} + +Write-NuGetPackage .\gflags.autopkg + + + diff --git a/contrib/coapp/gflags.autopkg b/contrib/coapp/gflags.autopkg new file mode 100644 index 0000000..4360f13 --- /dev/null +++ b/contrib/coapp/gflags.autopkg @@ -0,0 +1,73 @@ +nuget +{ + nuspec + { + id = gflags; + version : 2.0.1.0; + title: gflags; + authors: { Guillaume Dumont }; + licenseUrl: "http://opensource.org/licenses/BSD-3-Clause"; + projectUrl: "https://code.google.com/p/gflags/"; + iconUrl: "https://ssl.gstatic.com/codesite/ph/images/defaultlogo.png" + requireLicenseAcceptance:false; + summary:Commandline flags module for C++; + + /* if you need to span several lines you can prefix a string with + an @ symbol (exactly like c# does). */ + + description: @"The gflags package contains a library that implements commandline flags processing. + As such it's a replacement for getopt(). It has increased flexibility, including built-in support + for C++ types like string, and the ability to define flags in the source file in which they're used"; + + releaseNotes: "Initial version."; + copyright: Copyright 2013; + tags: { nativepackage, CoApp, gflags }; + }; + + files + { + nestedInclude: { + #destination = ${d_include}\gflags; + "..\..\src\windows\gflags\*" + }; + + ("Win32,x64", "v100,v110,v120", "Debug,Release", "static") => { + [${0},${1},${2},${3}] { + lib: { ..\..\${0}\${1}\${2}\libgflags-static*.lib }; + }; + }; + + ("Win32,x64", "v100,v110,v120", "Debug", "dynamic") => { + [${0},${1},${2},${3}] { + lib: { ..\..\${0}\${1}\${2}\libgflags-debug.lib }; + bin: { ..\..\${0}\${1}\${2}\libgflags-debug.dll }; + symbols: { ..\..\${0}\${1}\${2}\libgflags-debug.pdb }; + }; + }; + + ("Win32,x64", "v100,v110,v120", "Release", "dynamic") => { + [${0},${1},${2},${3}] { + lib: { ..\..\${0}\${1}\${2}\libgflags.lib }; + bin: { ..\..\${0}\${1}\${2}\libgflags.dll }; + symbols: { ..\..\${0}\${1}\${2}\libgflags.pdb }; + }; + }; + + + }; + + targets + { + // workaround for nestedInclude as reported in https://github.com/coapp/coapp.powershell/issues/45 + Includes += ${pkg_root}${d_include}; + + [static] { + // define GFLAGS_DLL_DECL to nothing when linking statically + Defines += GFLAGS_DLL_DECL=; + Defines += GFLAGS_DLL_DECLARE_FLAG=; + Defines += GFLAGS_DLL_DEFINE_FLAG=; + Defines += GFLAGS_DLL_DECL_FOR_UNITTESTS=; + }; + + }; +} \ No newline at end of file