diff options
Diffstat (limited to 'templates/vsprojects')
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 |