aboutsummaryrefslogtreecommitdiffhomepage
path: root/templates/vsprojects
diff options
context:
space:
mode:
Diffstat (limited to 'templates/vsprojects')
-rw-r--r--templates/vsprojects/grpc/grpc.vcxproj.template2
-rw-r--r--templates/vsprojects/grpc_csharp_ext/grpc_csharp_ext.vcxproj.template2
-rw-r--r--templates/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.template2
-rw-r--r--templates/vsprojects/packages.include48
-rw-r--r--templates/vsprojects/vcxproj_defs.include36
5 files changed, 52 insertions, 38 deletions
diff --git a/templates/vsprojects/grpc/grpc.vcxproj.template b/templates/vsprojects/grpc/grpc.vcxproj.template
index 51c7ff9370..35ac30380e 100644
--- a/templates/vsprojects/grpc/grpc.vcxproj.template
+++ b/templates/vsprojects/grpc/grpc.vcxproj.template
@@ -1,2 +1,2 @@
<%namespace file="../vcxproj_defs.include" import="gen_project"/>\
-${gen_project('grpc', libs, targets, openssl_pkg_version='1.0.2.1', zlib_pkg_version='1.2.8.7')} \ No newline at end of file
+${gen_project('grpc', libs, targets, packages=['openssl','zlib'])} \ No newline at end of file
diff --git a/templates/vsprojects/grpc_csharp_ext/grpc_csharp_ext.vcxproj.template b/templates/vsprojects/grpc_csharp_ext/grpc_csharp_ext.vcxproj.template
index 293878dcf4..c1f23011b2 100644
--- a/templates/vsprojects/grpc_csharp_ext/grpc_csharp_ext.vcxproj.template
+++ b/templates/vsprojects/grpc_csharp_ext/grpc_csharp_ext.vcxproj.template
@@ -1,2 +1,2 @@
<%namespace file="../vcxproj_defs.include" import="gen_project"/>\
-${gen_project('grpc_csharp_ext', libs, targets, configuration_type = 'DynamicLibrary', additional_props = ['winsock'], openssl_pkg_version='1.0.2.1', zlib_pkg_version='1.2.8.7')}
+${gen_project('grpc_csharp_ext', libs, targets, configuration_type = 'DynamicLibrary', additional_props = ['winsock'], packages=['openssl','zlib'])}
diff --git a/templates/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.template b/templates/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.template
index c92f1f9fe2..93b343eb45 100644
--- a/templates/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.template
+++ b/templates/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.template
@@ -1,2 +1,2 @@
<%namespace file="../vcxproj_defs.include" import="gen_project"/>\
-${gen_project('grpc_unsecure', libs, targets, zlib_pkg_version='1.2.8.7')} \ No newline at end of file
+${gen_project('grpc_unsecure', libs, targets, packages=['zlib'])} \ No newline at end of file
diff --git a/templates/vsprojects/packages.include b/templates/vsprojects/packages.include
index a288784607..afc69e3405 100644
--- a/templates/vsprojects/packages.include
+++ b/templates/vsprojects/packages.include
@@ -1,13 +1,51 @@
+<%!
+ openssl_pkg_name = "openssl"
+ openssl_pkg_version = "1.0.2.1"
+ zlib_pkg_version = "1.2.8.7"
+%>\
<%def name="gen_packages_config(packages)">\
<?xml version="1.0" encoding="utf-8"?>
<packages>
% if 'openssl' in packages:
- <package id="openssl" version="1.0.2.1" targetFramework="Native" />
- <package id="openssl.redist" version="1.0.2.1" targetFramework="Native" />
+ <package id="${openssl_pkg_name}" version="${openssl_pkg_version}" targetFramework="Native" />
+ <package id="${openssl_pkg_name}.redist" version="${openssl_pkg_version}" targetFramework="Native" />
% endif
% if 'zlib' in packages:
- <package id="zlib" version="1.2.8.7" targetFramework="Native" />
- <package id="zlib.redist" version="1.2.8.7" targetFramework="Native" />
+ <package id="zlib" version="${zlib_pkg_version}" targetFramework="Native" />
+ <package id="zlib.redist" version="${zlib_pkg_version}" targetFramework="Native" />
% endif
</packages>
-</%def>\ \ No newline at end of file
+</%def>\
+<%def name="gen_package_props(packages)">\
+% if 'openssl' in packages:
+ <Import Project="..\packages\${openssl_pkg_name}.${openssl_pkg_version}\build\native\${openssl_pkg_name}.props" Condition="Exists('..\packages\${openssl_pkg_name}.${openssl_pkg_version}\build\native\${openssl_pkg_name}.props')" />
+% endif
+</%def>\
+<%def name="gen_package_targets(packages)">\
+ % if 'zlib' in packages:
+ <Import Project="..\packages\zlib.redist.${zlib_pkg_version}\build\native\zlib.redist.targets" Condition="Exists('..\packages\zlib.redist.${zlib_pkg_version}\build\native\zlib.redist.targets')" />
+ <Import Project="..\packages\zlib.${zlib_pkg_version}\build\native\zlib.targets" Condition="Exists('..\packages\zlib.${zlib_pkg_version}\build\native\zlib.targets')" />
+ %endif
+ % if 'openssl' in packages:
+ <Import Project="..\packages\${openssl_pkg_name}.redist.${openssl_pkg_version}\build\native\${openssl_pkg_name}.redist.targets" Condition="Exists('..\packages\${openssl_pkg_name}.redist.${openssl_pkg_version}\build\native\${openssl_pkg_name}.redist.targets')" />
+ <Import Project="..\packages\${openssl_pkg_name}.${openssl_pkg_version}\build\native\${openssl_pkg_name}.targets" Condition="Exists('..\packages\${openssl_pkg_name}.${openssl_pkg_version}\build\native\${openssl_pkg_name}.targets')" />
+ % endif
+</%def>\
+<%def name="gen_package_ensure(packages)">\
+ % if packages:
+ <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+ <PropertyGroup>
+ <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
+ </PropertyGroup>
+ % if 'zlib' in packages:
+ <Error Condition="!Exists('..\packages\zlib.redist.${zlib_pkg_version}\build\native\zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\zlib.redist.${zlib_pkg_version}\build\native\zlib.redist.targets'))" />
+ <Error Condition="!Exists('..\packages\zlib.${zlib_pkg_version}\build\native\zlib.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\zlib.${zlib_pkg_version}\build\native\zlib.targets'))" />
+ %endif
+ % if 'openssl' in packages:
+ <Error Condition="!Exists('..\packages\${openssl_pkg_name}.redist.${openssl_pkg_version}\build\native\${openssl_pkg_name}.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\${openssl_pkg_name}.redist.${openssl_pkg_version}\build\native\${openssl_pkg_name}.redist.targets'))" />
+ <Error Condition="!Exists('..\packages\${openssl_pkg_name}.${openssl_pkg_version}\build\native\${openssl_pkg_name}.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\${openssl_pkg_name}.${openssl_pkg_version}\build\native\${openssl_pkg_name}.props'))" />
+ <Error Condition="!Exists('..\packages\${openssl_pkg_name}.${openssl_pkg_version}\build\native\${openssl_pkg_name}.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\${openssl_pkg_name}.${openssl_pkg_version}\build\native\${openssl_pkg_name}.targets'))" />
+ %endif
+ </Target>
+ %endif
+</%def>\
diff --git a/templates/vsprojects/vcxproj_defs.include b/templates/vsprojects/vcxproj_defs.include
index 12680d407c..61baa2b35d 100644
--- a/templates/vsprojects/vcxproj_defs.include
+++ b/templates/vsprojects/vcxproj_defs.include
@@ -1,15 +1,13 @@
-<%namespace file="packages.include" import="gen_packages_config"/>\
+<%namespace file="packages.include" import="gen_package_props,gen_package_targets,gen_package_ensure"/>\
<%def name="get_repo_root()">..\..</%def>\
<%def name="to_windows_path(path)">${path.replace('/','\\')}</%def>\
<%def name="get_subsystem(is_library)">${'Windows' if is_library else 'Console'}</%def>\
-<%def name="gen_project(name, libs, targets, configuration_type = 'StaticLibrary', project_guid = None, additional_props = [], openssl_pkg_version = None, zlib_pkg_version = None)">\
+<%def name="gen_project(name, libs, targets, configuration_type = 'StaticLibrary', project_guid = None, additional_props = [], packages = [])">\
% for project in vsprojects:
% if project.name == name:
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- % if openssl_pkg_version:
- <Import Project="..\packages\openssl.${openssl_pkg_version}\build\native\openssl.props" Condition="Exists('..\packages\openssl.${openssl_pkg_version}\build\native\openssl.props')" />
- % endif
+${gen_package_props(packages)}\
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -129,38 +127,16 @@
% endfor
</ItemGroup>
% endif
- %if zlib_pkg_version or openssl_pkg_version:
+ %if packages:
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
%endif
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
- %if zlib_pkg_version:
- <Import Project="..\packages\zlib.redist.${zlib_pkg_version}\build\native\zlib.redist.targets" Condition="Exists('..\packages\zlib.redist.${zlib_pkg_version}\build\native\zlib.redist.targets')" />
- <Import Project="..\packages\zlib.${zlib_pkg_version}\build\native\zlib.targets" Condition="Exists('..\packages\zlib.${zlib_pkg_version}\build\native\zlib.targets')" />
- %endif
- % if openssl_pkg_version:
- <Import Project="..\packages\openssl.redist.${openssl_pkg_version}\build\native\openssl.redist.targets" Condition="Exists('..\packages\openssl.redist.${openssl_pkg_version}\build\native\openssl.redist.targets')" />
- <Import Project="..\packages\openssl.${openssl_pkg_version}\build\native\openssl.targets" Condition="Exists('..\packages\openssl.${openssl_pkg_version}\build\native\openssl.targets')" />
- % endif
+${gen_package_targets(packages)}\
</ImportGroup>
- %if zlib_pkg_version or openssl_pkg_version:
- <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
- <PropertyGroup>
- <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
- </PropertyGroup>
- %if zlib_pkg_version:
- <Error Condition="!Exists('..\packages\zlib.redist.${zlib_pkg_version}\build\native\zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\zlib.redist.${zlib_pkg_version}\build\native\zlib.redist.targets'))" />
- <Error Condition="!Exists('..\packages\zlib.${zlib_pkg_version}\build\native\zlib.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\zlib.${zlib_pkg_version}\build\native\zlib.targets'))" />
- %endif
- % if openssl_pkg_version:
- <Error Condition="!Exists('..\packages\openssl.redist.${openssl_pkg_version}\build\native\openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\openssl.redist.${openssl_pkg_version}\build\native\openssl.redist.targets'))" />
- <Error Condition="!Exists('..\packages\openssl.${openssl_pkg_version}\build\native\openssl.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\openssl.${openssl_pkg_version}\build\native\openssl.props'))" />
- <Error Condition="!Exists('..\packages\openssl.${openssl_pkg_version}\build\native\openssl.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\openssl.${openssl_pkg_version}\build\native\openssl.targets'))" />
- %endif
- </Target>
- %endif
+${gen_package_ensure(packages)}\
</Project>
% endif
% endfor