aboutsummaryrefslogtreecommitdiffhomepage
path: root/templates
diff options
context:
space:
mode:
authorGravatar Jan Tattermusch <jtattermusch@google.com>2015-04-20 18:43:06 -0700
committerGravatar Jan Tattermusch <jtattermusch@google.com>2015-04-20 19:18:22 -0700
commit8ff00a3c2527bf3df60d5a0facea7c6ae28b337c (patch)
tree22361ad78c90b8ec56e42c764873bdb7180923a8 /templates
parent2a191e39aaa60e5f63fcea66bdc30d981402811d (diff)
big refactoring of visual studio projects, started using nuget
dependencies.
Diffstat (limited to 'templates')
-rw-r--r--templates/vsprojects/Grpc.mak.template (renamed from templates/vsprojects/vs2013/Grpc.mak.template)15
-rw-r--r--templates/vsprojects/gpr/gpr.vcxproj.filters.template2
-rw-r--r--templates/vsprojects/gpr/gpr.vcxproj.template2
-rw-r--r--templates/vsprojects/gpr_test_util/gpr_test_util.vcxproj.template2
-rw-r--r--templates/vsprojects/grpc++/grpc++.vcxproj.filters.template2
-rw-r--r--templates/vsprojects/grpc++/grpc++.vcxproj.template2
-rw-r--r--templates/vsprojects/grpc.sln.template42
-rw-r--r--templates/vsprojects/grpc/grpc.vcxproj.filters.template2
-rw-r--r--templates/vsprojects/grpc/grpc.vcxproj.template2
-rw-r--r--templates/vsprojects/grpc/packages.config.template7
-rw-r--r--templates/vsprojects/grpc_csharp_ext/grpc_csharp_ext.vcxproj.template2
-rw-r--r--templates/vsprojects/grpc_csharp_ext/packages.config.template7
-rw-r--r--templates/vsprojects/grpc_test_util/grpc_test_util.vcxproj.template2
-rw-r--r--templates/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters.template2
-rw-r--r--templates/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.template2
-rw-r--r--templates/vsprojects/grpc_unsecure/packages.config.template5
-rw-r--r--templates/vsprojects/vcxproj.filters_defs.include (renamed from templates/vsprojects/vs2013/vcxproj.filters_defs.include)7
-rw-r--r--templates/vsprojects/vcxproj_defs.include (renamed from templates/vsprojects/vs2013/vcxproj_defs.include)69
-rw-r--r--templates/vsprojects/vs2010/Grpc.mak.template107
-rw-r--r--templates/vsprojects/vs2010/gpr.vcxproj.filters.template2
-rw-r--r--templates/vsprojects/vs2010/gpr.vcxproj.template2
-rw-r--r--templates/vsprojects/vs2010/gpr_test_util.vcxproj.template2
-rw-r--r--templates/vsprojects/vs2010/grpc++.vcxproj.filters.template2
-rw-r--r--templates/vsprojects/vs2010/grpc++.vcxproj.template2
-rw-r--r--templates/vsprojects/vs2010/grpc.sln.template59
-rw-r--r--templates/vsprojects/vs2010/grpc.vcxproj.filters.template2
-rw-r--r--templates/vsprojects/vs2010/grpc.vcxproj.template2
-rw-r--r--templates/vsprojects/vs2010/grpc_csharp_ext.vcxproj.template2
-rw-r--r--templates/vsprojects/vs2010/grpc_csharp_ext_shared.vcxproj.template2
-rw-r--r--templates/vsprojects/vs2010/grpc_test_util.vcxproj.template2
-rw-r--r--templates/vsprojects/vs2010/grpc_unsecure.vcxproj.filters.template2
-rw-r--r--templates/vsprojects/vs2010/grpc_unsecure.vcxproj.template2
-rw-r--r--templates/vsprojects/vs2010/vcxproj.filters_defs.include64
-rw-r--r--templates/vsprojects/vs2010/vcxproj_defs.include131
-rw-r--r--templates/vsprojects/vs2013/gpr.vcxproj.filters.template2
-rw-r--r--templates/vsprojects/vs2013/gpr.vcxproj.template2
-rw-r--r--templates/vsprojects/vs2013/gpr_test_util.vcxproj.template2
-rw-r--r--templates/vsprojects/vs2013/grpc++.vcxproj.filters.template2
-rw-r--r--templates/vsprojects/vs2013/grpc++.vcxproj.template2
-rw-r--r--templates/vsprojects/vs2013/grpc.sln.template67
-rw-r--r--templates/vsprojects/vs2013/grpc.vcxproj.filters.template2
-rw-r--r--templates/vsprojects/vs2013/grpc.vcxproj.template2
-rw-r--r--templates/vsprojects/vs2013/grpc_csharp_ext.vcxproj.template2
-rw-r--r--templates/vsprojects/vs2013/grpc_csharp_ext_shared.vcxproj.template2
-rw-r--r--templates/vsprojects/vs2013/grpc_test_util.vcxproj.template2
-rw-r--r--templates/vsprojects/vs2013/grpc_unsecure.vcxproj.filters.template2
-rw-r--r--templates/vsprojects/vs2013/grpc_unsecure.vcxproj.template2
47 files changed, 147 insertions, 503 deletions
diff --git a/templates/vsprojects/vs2013/Grpc.mak.template b/templates/vsprojects/Grpc.mak.template
index c1c15df5c6..2ad7fa3e8f 100644
--- a/templates/vsprojects/vs2013/Grpc.mak.template
+++ b/templates/vsprojects/Grpc.mak.template
@@ -47,21 +47,24 @@ OUT_DIR=test_bin
CC=cl.exe
LINK=link.exe
-INCLUDES=/I..\.. /I..\..\include /I..\..\third_party\zlib /I..\third_party /I..\..\third_party\openssl\inc32
+REPO_ROOT=..
+OPENSSL_INCLUDES = .\packages\openssl.1.0.2.1\build\native\include\v120\Win32\Debug\static
+ZLIB_INCLUDES = .\packages\zlib.1.2.8.7\build\native\include
+INCLUDES=/I$(REPO_ROOT) /I$(REPO_ROOT)\include /I$(OPENSSL_INCLUDES) /I$(ZLIB_INCLUDES)
DEFINES=/D WIN32 /D _LIB /D _USE_32BIT_TIME_T /D _UNICODE /D UNICODE /D _CRT_SECURE_NO_WARNINGS
CFLAGS=/c $(INCLUDES) /nologo /Z7 /W3 /WX- /sdl $(DEFINES) /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Gd /TC /analyze-
LFLAGS=/DEBUG /INCREMENTAL /NOLOGO /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86
-OPENSSL_LIBS=..\..\third_party\openssl\out32\ssleay32.lib ..\..\third_party\openssl\out32\libeay32.lib
+OPENSSL_LIBS=.\packages\openssl.1.0.2.1\build\native\lib\v120\Win32\Debug\static\ssleay32.lib .\packages\openssl.1.0.2.1\build\native\lib\v120\Win32\Debug\static\libeay32.lib
WINSOCK_LIBS=ws2_32.lib
-ZLIB_LIBS=Debug\zlibwapi.lib
+ZLIB_LIBS=.\packages\zlib.1.2.8.7\build\native\lib\v120\Win32\Debug\static\cdecl\zlib.lib
LIBS=$(OPENSSL_LIBS) $(WINSOCK_LIBS) $(ZLIB_LIBS)
gpr_test_util:
- MSBuild.exe gpr_test_util.vcxproj /p:Configuration=Debug
+ MSBuild.exe gpr_test_util\gpr_test_util.vcxproj /p:Configuration=Debug
grpc_test_util:
- MSBuild.exe grpc_test_util.vcxproj /p:Configuration=Debug
+ MSBuild.exe grpc_test_util\grpc_test_util.vcxproj /p:Configuration=Debug
$(OUT_DIR):
mkdir $(OUT_DIR)
@@ -87,7 +90,7 @@ ${target.name}.exe: grpc_test_util $(OUT_DIR)
echo Building ${target.name}
$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ \
%for source in target.src:
-..\..\${to_windows_path(source)} \
+$(REPO_ROOT)\${to_windows_path(source)} \
%endfor
$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\${target.name}.exe" \
diff --git a/templates/vsprojects/gpr/gpr.vcxproj.filters.template b/templates/vsprojects/gpr/gpr.vcxproj.filters.template
new file mode 100644
index 0000000000..1aeb3b1dd0
--- /dev/null
+++ b/templates/vsprojects/gpr/gpr.vcxproj.filters.template
@@ -0,0 +1,2 @@
+<%namespace file="../vcxproj.filters_defs.include" import="gen_filters"/>\
+${gen_filters('gpr', libs, targets)}
diff --git a/templates/vsprojects/gpr/gpr.vcxproj.template b/templates/vsprojects/gpr/gpr.vcxproj.template
new file mode 100644
index 0000000000..b94266c776
--- /dev/null
+++ b/templates/vsprojects/gpr/gpr.vcxproj.template
@@ -0,0 +1,2 @@
+<%namespace file="../vcxproj_defs.include" import="gen_project"/>\
+${gen_project('gpr', libs, targets)}
diff --git a/templates/vsprojects/gpr_test_util/gpr_test_util.vcxproj.template b/templates/vsprojects/gpr_test_util/gpr_test_util.vcxproj.template
new file mode 100644
index 0000000000..42f4a248b8
--- /dev/null
+++ b/templates/vsprojects/gpr_test_util/gpr_test_util.vcxproj.template
@@ -0,0 +1,2 @@
+<%namespace file="../vcxproj_defs.include" import="gen_project"/>\
+${gen_project('gpr_test_util', libs, targets)} \ No newline at end of file
diff --git a/templates/vsprojects/grpc++/grpc++.vcxproj.filters.template b/templates/vsprojects/grpc++/grpc++.vcxproj.filters.template
new file mode 100644
index 0000000000..818eb87c75
--- /dev/null
+++ b/templates/vsprojects/grpc++/grpc++.vcxproj.filters.template
@@ -0,0 +1,2 @@
+<%namespace file="../vcxproj.filters_defs.include" import="gen_filters"/>\
+${gen_filters('grpc++', libs, targets)}
diff --git a/templates/vsprojects/grpc++/grpc++.vcxproj.template b/templates/vsprojects/grpc++/grpc++.vcxproj.template
new file mode 100644
index 0000000000..fb84a1a801
--- /dev/null
+++ b/templates/vsprojects/grpc++/grpc++.vcxproj.template
@@ -0,0 +1,2 @@
+<%namespace file="../vcxproj_defs.include" import="gen_project"/>\
+${gen_project('grpc++', libs, targets)} \ No newline at end of file
diff --git a/templates/vsprojects/grpc.sln.template b/templates/vsprojects/grpc.sln.template
new file mode 100644
index 0000000000..883efd594c
--- /dev/null
+++ b/templates/vsprojects/grpc.sln.template
@@ -0,0 +1,42 @@
+## Template for Visual Studio solution
+## based on http://msdn.microsoft.com/en-us/library/bb165951(v=vs.90).aspx
+## NOTE: tabs in this file are needed by Visual Studio to correctly interpret
+## the file.
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.21005.1
+MinimumVisualStudioVersion = 10.0.40219.1
+<%
+## Visual Studio uses GUIDs for project types
+## http://msdn.microsoft.com/en-us/library/hb23x61k%28v=vs.80%29.aspx
+cpp_proj_type = "{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}"
+%>\
+% for project in vsprojects:
+Project("${cpp_proj_type}") = "${project.name}", "${project.name}\${project.name}.vcxproj", "${project.vs_project_guid}"
+ % if project.get('deps', None):
+ ProjectSection(ProjectDependencies) = postProject
+ % for dep in project.get('deps', []):
+ ${vsproject_dict[dep].vs_project_guid} = ${vsproject_dict[dep].vs_project_guid}
+ % endfor
+ EndProjectSection
+ % endif
+EndProject
+% endfor
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+% for project in vsprojects:
+ ${project.vs_project_guid}.Debug|Win32.ActiveCfg = Debug|Win32
+ ${project.vs_project_guid}.Debug|Win32.Build.0 = Debug|Win32
+ ${project.vs_project_guid}.Release|Win32.ActiveCfg = Release|Win32
+ ${project.vs_project_guid}.Release|Win32.Build.0 = Release|Win32
+% endfor
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/templates/vsprojects/grpc/grpc.vcxproj.filters.template b/templates/vsprojects/grpc/grpc.vcxproj.filters.template
new file mode 100644
index 0000000000..a9575e935a
--- /dev/null
+++ b/templates/vsprojects/grpc/grpc.vcxproj.filters.template
@@ -0,0 +1,2 @@
+<%namespace file="../vcxproj.filters_defs.include" import="gen_filters"/>\
+${gen_filters('grpc', libs, targets)}
diff --git a/templates/vsprojects/grpc/grpc.vcxproj.template b/templates/vsprojects/grpc/grpc.vcxproj.template
new file mode 100644
index 0000000000..51c7ff9370
--- /dev/null
+++ b/templates/vsprojects/grpc/grpc.vcxproj.template
@@ -0,0 +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
diff --git a/templates/vsprojects/grpc/packages.config.template b/templates/vsprojects/grpc/packages.config.template
new file mode 100644
index 0000000000..04baa39080
--- /dev/null
+++ b/templates/vsprojects/grpc/packages.config.template
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="openssl" version="1.0.2.1" targetFramework="Native" />
+ <package id="openssl.redist" version="1.0.2.1" targetFramework="Native" />
+ <package id="zlib" version="1.2.8.7" targetFramework="Native" />
+ <package id="zlib.redist" version="1.2.8.7" targetFramework="Native" />
+</packages> \ 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
new file mode 100644
index 0000000000..293878dcf4
--- /dev/null
+++ b/templates/vsprojects/grpc_csharp_ext/grpc_csharp_ext.vcxproj.template
@@ -0,0 +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')}
diff --git a/templates/vsprojects/grpc_csharp_ext/packages.config.template b/templates/vsprojects/grpc_csharp_ext/packages.config.template
new file mode 100644
index 0000000000..04baa39080
--- /dev/null
+++ b/templates/vsprojects/grpc_csharp_ext/packages.config.template
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="openssl" version="1.0.2.1" targetFramework="Native" />
+ <package id="openssl.redist" version="1.0.2.1" targetFramework="Native" />
+ <package id="zlib" version="1.2.8.7" targetFramework="Native" />
+ <package id="zlib.redist" version="1.2.8.7" targetFramework="Native" />
+</packages> \ No newline at end of file
diff --git a/templates/vsprojects/grpc_test_util/grpc_test_util.vcxproj.template b/templates/vsprojects/grpc_test_util/grpc_test_util.vcxproj.template
new file mode 100644
index 0000000000..4dd335505a
--- /dev/null
+++ b/templates/vsprojects/grpc_test_util/grpc_test_util.vcxproj.template
@@ -0,0 +1,2 @@
+<%namespace file="../vcxproj_defs.include" import="gen_project"/>\
+${gen_project('grpc_test_util', libs, targets)} \ No newline at end of file
diff --git a/templates/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters.template b/templates/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters.template
new file mode 100644
index 0000000000..a0c26df73b
--- /dev/null
+++ b/templates/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters.template
@@ -0,0 +1,2 @@
+<%namespace file="../vcxproj.filters_defs.include" import="gen_filters"/>\
+${gen_filters('grpc_unsecure', libs, targets)}
diff --git a/templates/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.template b/templates/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.template
new file mode 100644
index 0000000000..c92f1f9fe2
--- /dev/null
+++ b/templates/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.template
@@ -0,0 +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
diff --git a/templates/vsprojects/grpc_unsecure/packages.config.template b/templates/vsprojects/grpc_unsecure/packages.config.template
new file mode 100644
index 0000000000..b0829dd294
--- /dev/null
+++ b/templates/vsprojects/grpc_unsecure/packages.config.template
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="zlib" version="1.2.8.7" targetFramework="Native" />
+ <package id="zlib.redist" version="1.2.8.7" targetFramework="Native" />
+</packages> \ No newline at end of file
diff --git a/templates/vsprojects/vs2013/vcxproj.filters_defs.include b/templates/vsprojects/vcxproj.filters_defs.include
index 539ae932f1..646b17e9fe 100644
--- a/templates/vsprojects/vs2013/vcxproj.filters_defs.include
+++ b/templates/vsprojects/vcxproj.filters_defs.include
@@ -5,6 +5,7 @@
def calc_to_filter(path):
return '\\'.join(path.split('/')[:-1])
%>\
+<%def name="get_repo_root()">..\..</%def>\
<%def name="to_windows_path(path)">${path.replace('/','\\')}</%def>\
<%def name="to_filter(path)">${calc_to_filter(path)}</%def>\
<%def name="filter_to_guid(proj, filter)">${re.sub('(........)(....)(....)(....)', r'\1-\2-\3-\4-', hashlib.md5(''.join([filter, proj])).hexdigest())}</%def>\
@@ -16,7 +17,7 @@
% if project.get('src',[]):
<ItemGroup>
% for src_name in project.src:
- <ClCompile Include="..\..\${to_windows_path(src_name)}">
+ <ClCompile Include="${get_repo_root()}\${to_windows_path(src_name)}">
<Filter>${to_filter(src_name)}</Filter>
</ClCompile>
% endfor
@@ -25,7 +26,7 @@
% if project.get('public_headers',[]):
<ItemGroup>
% for public_header in project.public_headers:
- <ClInclude Include="..\..\${to_windows_path(public_header)}">
+ <ClInclude Include="${get_repo_root()}\${to_windows_path(public_header)}">
<Filter>${to_filter(public_header)}</Filter>
</ClInclude>
% endfor
@@ -34,7 +35,7 @@
% if project.get('headers',[]):
<ItemGroup>
% for header in project.headers:
- <ClInclude Include="..\..\${to_windows_path(header)}">
+ <ClInclude Include="${get_repo_root()}\${to_windows_path(header)}">
<Filter>${to_filter(header)}</Filter>
</ClInclude>
% endfor
diff --git a/templates/vsprojects/vs2013/vcxproj_defs.include b/templates/vsprojects/vcxproj_defs.include
index 2bdf0b94ea..94ffbdbb72 100644
--- a/templates/vsprojects/vs2013/vcxproj_defs.include
+++ b/templates/vsprojects/vcxproj_defs.include
@@ -1,10 +1,14 @@
+<%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 = [], depends_on_zlib = False)">\
+<%def name="gen_project(name, libs, targets, configuration_type = 'StaticLibrary', project_guid = None, additional_props = [], openssl_pkg_version = None, zlib_pkg_version = None)">\
% 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
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -19,36 +23,41 @@
<ProjectGuid>${project_guid if project_guid else project.vs_project_guid}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(VisualStudioVersion)' == '10.0'" Label="Configuration">
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(VisualStudioVersion)' == '11.0'" Label="Configuration">
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(VisualStudioVersion)' == '12.0'" Label="Configuration">
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>${configuration_type}</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
- <IntDir>$(Configuration)\$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>${configuration_type}</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
- <IntDir>$(Configuration)\$(ProjectName)\</IntDir>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="global.props" />
+ <Import Project="..\global.props" />
% for prop in additional_props:
- <Import Project="${prop}.props" />
+ <Import Project="..\${prop}.props" />
% endfor
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="global.props" />
+ <Import Project="..\global.props" />
% for prop in additional_props:
- <Import Project="${prop}.props" />
+ <Import Project="..\${prop}." />
% endfor
</ImportGroup>
<PropertyGroup Label="UserMacros" />
@@ -91,21 +100,21 @@
% if project.get('public_headers',[]):
<ItemGroup>
% for public_header in project.public_headers:
- <ClInclude Include="..\..\${to_windows_path(public_header)}" />
+ <ClInclude Include="${get_repo_root()}\${to_windows_path(public_header)}" />
% endfor
</ItemGroup>
% endif
% if project.get('headers',[]):
<ItemGroup>
% for header in project.headers:
- <ClInclude Include="..\..\${to_windows_path(header)}" />
+ <ClInclude Include="${get_repo_root()}\${to_windows_path(header)}" />
% endfor
</ItemGroup>
% endif
% if project.get('src',[]):
<ItemGroup>
% for src_name in project.src:
- <ClCompile Include="..\..\${to_windows_path(src_name)}">
+ <ClCompile Include="${get_repo_root()}\${to_windows_path(src_name)}">
</ClCompile>
% endfor
</ItemGroup>
@@ -113,20 +122,44 @@
% if project.get('deps',[]):
<ItemGroup>
% for dep in project.deps:
- <ProjectReference Include="${dep}.vcxproj">
+ <ProjectReference Include="..\${dep}\${dep}.vcxproj">
<Project>${vsproject_dict[dep].vs_project_guid}</Project>
</ProjectReference>
% endfor
- % if depends_on_zlib:
- <ProjectReference Include="third_party\zlibvc.vcxproj">
- <Project>{8fd826f8-3739-44e6-8cc8-997122e53b8d}</Project>
- </ProjectReference>
- % endif
</ItemGroup>
% endif
+ %if zlib_pkg_version or openssl_pkg_version:
+ <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
</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
</Project>
% endif
% endfor
diff --git a/templates/vsprojects/vs2010/Grpc.mak.template b/templates/vsprojects/vs2010/Grpc.mak.template
deleted file mode 100644
index 8e1b33bba7..0000000000
--- a/templates/vsprojects/vs2010/Grpc.mak.template
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright 2015, Google Inc.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-<%!
- import re
-%>\
-<%def name="to_windows_path(path)">${path.replace('/','\\')}</%def>\
-<%
- allowed_dependencies = set(['gpr', 'grpc', 'gpr_test_util', 'grpc_test_util'])
- buildable_targets = [ target for target in targets if set(target.deps).issubset(allowed_dependencies) and all([src.endswith('.c') for src in target.src])]
- test_targets = [ target for target in buildable_targets if target.name.endswith('_test') ]
-%>\
-# NMake file to build secondary gRPC targets on Windows.
-# Use grpc.sln to solution to build the gRPC libraries.
-
-OUT_DIR=test_bin
-
-CC=cl.exe
-LINK=link.exe
-
-INCLUDES=/I..\.. /I..\..\include /I..\..\third_party\zlib /I..\third_party /I..\..\third_party\openssl\inc32
-DEFINES=/D WIN32 /D _LIB /D _USE_32BIT_TIME_T /D _UNICODE /D UNICODE /D _CRT_SECURE_NO_WARNINGS
-CFLAGS=/c $(INCLUDES) /nologo /Z7 /W3 /WX- /sdl $(DEFINES) /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Gd /TC /analyze-
-LFLAGS=/DEBUG /INCREMENTAL /NOLOGO /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86
-
-OPENSSL_LIBS=..\..\third_party\openssl\out32\ssleay32.lib ..\..\third_party\openssl\out32\libeay32.lib
-WINSOCK_LIBS=ws2_32.lib
-ZLIB_LIBS=Debug\zlibwapi.lib
-LIBS=$(OPENSSL_LIBS) $(WINSOCK_LIBS) $(ZLIB_LIBS)
-
-gpr_test_util:
- MSBuild.exe gpr_test_util.vcxproj /p:Configuration=Debug
-
-grpc_test_util:
- MSBuild.exe grpc_test_util.vcxproj /p:Configuration=Debug
-
-$(OUT_DIR):
- mkdir $(OUT_DIR)
-
-buildtests: \
-% for target in test_targets:
-${target.name}.exe \
-% endfor
-
- echo All tests built.
-
-test: \
-% for target in test_targets:
-${target.name} \
-% endfor
-
- echo All tests ran.
-
-test_gpr: \
-% for target in [ tgt for tgt in test_targets if tgt.name.startswith('gpr_')]:
-${target.name} \
-% endfor
-
- echo All tests ran.
-
-% for target in buildable_targets:
-${target.name}.exe: grpc_test_util
- echo Building ${target.name}
- $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ \
-%for source in target.src:
-..\..\${to_windows_path(source)} \
-%endfor
-
- $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\${target.name}.exe" \
-%for dep in target.deps:
-Debug\${dep}.lib \
-%endfor
-$(LIBS) \
-%for source in target.src:
-$(OUT_DIR)\${re.search('([^/]+)\.c$', source).group(1)}.obj \
-%endfor
-
-${target.name}: ${target.name}.exe
- echo Running ${target.name}
- $(OUT_DIR)\${target.name}.exe
-
-% endfor
diff --git a/templates/vsprojects/vs2010/gpr.vcxproj.filters.template b/templates/vsprojects/vs2010/gpr.vcxproj.filters.template
deleted file mode 100644
index c8b2ce099e..0000000000
--- a/templates/vsprojects/vs2010/gpr.vcxproj.filters.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj.filters_defs.include" import="gen_filters"/>\
-${gen_filters('gpr', libs, targets)}
diff --git a/templates/vsprojects/vs2010/gpr.vcxproj.template b/templates/vsprojects/vs2010/gpr.vcxproj.template
deleted file mode 100644
index c478aadcdd..0000000000
--- a/templates/vsprojects/vs2010/gpr.vcxproj.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj_defs.include" import="gen_project"/>\
-${gen_project('gpr', libs, targets)}
diff --git a/templates/vsprojects/vs2010/gpr_test_util.vcxproj.template b/templates/vsprojects/vs2010/gpr_test_util.vcxproj.template
deleted file mode 100644
index 1f1bc0a5fb..0000000000
--- a/templates/vsprojects/vs2010/gpr_test_util.vcxproj.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj_defs.include" import="gen_project"/>\
-${gen_project('gpr_test_util', libs, targets)} \ No newline at end of file
diff --git a/templates/vsprojects/vs2010/grpc++.vcxproj.filters.template b/templates/vsprojects/vs2010/grpc++.vcxproj.filters.template
deleted file mode 100644
index d74cce8c78..0000000000
--- a/templates/vsprojects/vs2010/grpc++.vcxproj.filters.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj.filters_defs.include" import="gen_filters"/>\
-${gen_filters('grpc++', libs, targets)}
diff --git a/templates/vsprojects/vs2010/grpc++.vcxproj.template b/templates/vsprojects/vs2010/grpc++.vcxproj.template
deleted file mode 100644
index 93994bb392..0000000000
--- a/templates/vsprojects/vs2010/grpc++.vcxproj.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj_defs.include" import="gen_project"/>\
-${gen_project('grpc++', libs, targets)} \ No newline at end of file
diff --git a/templates/vsprojects/vs2010/grpc.sln.template b/templates/vsprojects/vs2010/grpc.sln.template
deleted file mode 100644
index 47aa03ca41..0000000000
--- a/templates/vsprojects/vs2010/grpc.sln.template
+++ /dev/null
@@ -1,59 +0,0 @@
-## Template for Visual Studio solution
-## based on http://msdn.microsoft.com/en-us/library/bb165951(v=vs.90).aspx
-## NOTE: tabs in this file are needed by Visual Studio to correctly interpret
-## the file.
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual C++ Express 2010
-<%
-## Visual Studio uses GUIDs for project types
-## http://msdn.microsoft.com/en-us/library/hb23x61k%28v=vs.80%29.aspx
-cpp_proj_type = "{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}"
-%>\
-% for project in vsprojects:
-Project("${cpp_proj_type}") = "${project.name}", "${project.name}.vcxproj", "${project.vs_project_guid}"
- % if project.get('deps', None):
- ProjectSection(ProjectDependencies) = postProject
- % for dep in project.get('deps', []):
- ${vsproject_dict[dep].vs_project_guid} = ${vsproject_dict[dep].vs_project_guid}
- % endfor
- EndProjectSection
- % endif
-EndProject
-% endfor
-Project("${cpp_proj_type}") = "grpc_csharp_ext_shared", "grpc_csharp_ext_shared.vcxproj", "{C26D04A8-37C6-44C7-B458-906C9FCE928C}"
-EndProject
-Project("${cpp_proj_type}") = "zlibvc", "third_party\zlibvc.vcxproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
-% for project in vsprojects:
- ${project.vs_project_guid}.Debug|Win32.ActiveCfg = Debug|Win32
- ${project.vs_project_guid}.Debug|Win32.Build.0 = Debug|Win32
- ${project.vs_project_guid}.Release|Win32.ActiveCfg = Release|Win32
- ${project.vs_project_guid}.Release|Win32.Build.0 = Release|Win32
-% endfor
- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.ActiveCfg = Debug|Win32
- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.Build.0 = Debug|Win32
- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32
- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32
- {3D304D6B-AAF8-428B-AC7D-A698DDDE93C0}.Debug|Win32.ActiveCfg = Debug|Win32
- {3D304D6B-AAF8-428B-AC7D-A698DDDE93C0}.Debug|Win32.Build.0 = Debug|Win32
- {3D304D6B-AAF8-428B-AC7D-A698DDDE93C0}.Release|Win32.ActiveCfg = Release|Win32
- {3D304D6B-AAF8-428B-AC7D-A698DDDE93C0}.Release|Win32.Build.0 = Release|Win32
- {F2EE8FDB-F1E0-43A0-A297-6F255BB52AAA}.Debug|Win32.ActiveCfg = Debug|Win32
- {F2EE8FDB-F1E0-43A0-A297-6F255BB52AAA}.Debug|Win32.Build.0 = Debug|Win32
- {F2EE8FDB-F1E0-43A0-A297-6F255BB52AAA}.Release|Win32.ActiveCfg = Release|Win32
- {F2EE8FDB-F1E0-43A0-A297-6F255BB52AAA}.Release|Win32.Build.0 = Release|Win32
- {C26D04A8-37C6-44C7-B458-906C9FCE928C}.Debug|Win32.ActiveCfg = Debug|Win32
- {C26D04A8-37C6-44C7-B458-906C9FCE928C}.Debug|Win32.Build.0 = Debug|Win32
- {C26D04A8-37C6-44C7-B458-906C9FCE928C}.Release|Win32.ActiveCfg = Release|Win32
- {C26D04A8-37C6-44C7-B458-906C9FCE928C}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/templates/vsprojects/vs2010/grpc.vcxproj.filters.template b/templates/vsprojects/vs2010/grpc.vcxproj.filters.template
deleted file mode 100644
index b8e91bd61c..0000000000
--- a/templates/vsprojects/vs2010/grpc.vcxproj.filters.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj.filters_defs.include" import="gen_filters"/>\
-${gen_filters('grpc', libs, targets)}
diff --git a/templates/vsprojects/vs2010/grpc.vcxproj.template b/templates/vsprojects/vs2010/grpc.vcxproj.template
deleted file mode 100644
index 3de6453f52..0000000000
--- a/templates/vsprojects/vs2010/grpc.vcxproj.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj_defs.include" import="gen_project"/>\
-${gen_project('grpc', libs, targets)} \ No newline at end of file
diff --git a/templates/vsprojects/vs2010/grpc_csharp_ext.vcxproj.template b/templates/vsprojects/vs2010/grpc_csharp_ext.vcxproj.template
deleted file mode 100644
index 84aa50209a..0000000000
--- a/templates/vsprojects/vs2010/grpc_csharp_ext.vcxproj.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj_defs.include" import="gen_project"/>\
-${gen_project('grpc_csharp_ext', libs, targets)}
diff --git a/templates/vsprojects/vs2010/grpc_csharp_ext_shared.vcxproj.template b/templates/vsprojects/vs2010/grpc_csharp_ext_shared.vcxproj.template
deleted file mode 100644
index 193a2cd13f..0000000000
--- a/templates/vsprojects/vs2010/grpc_csharp_ext_shared.vcxproj.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj_defs.include" import="gen_project"/>\
-${gen_project('grpc_csharp_ext', libs, targets, configuration_type = 'DynamicLibrary', project_guid = '{C26D04A8-37C6-44C7-B458-906C9FCE928C}', additional_props = ['winsock', 'ssl'])}
diff --git a/templates/vsprojects/vs2010/grpc_test_util.vcxproj.template b/templates/vsprojects/vs2010/grpc_test_util.vcxproj.template
deleted file mode 100644
index 72e625d9b9..0000000000
--- a/templates/vsprojects/vs2010/grpc_test_util.vcxproj.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj_defs.include" import="gen_project"/>\
-${gen_project('grpc_test_util', libs, targets)} \ No newline at end of file
diff --git a/templates/vsprojects/vs2010/grpc_unsecure.vcxproj.filters.template b/templates/vsprojects/vs2010/grpc_unsecure.vcxproj.filters.template
deleted file mode 100644
index ef918922ef..0000000000
--- a/templates/vsprojects/vs2010/grpc_unsecure.vcxproj.filters.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj.filters_defs.include" import="gen_filters"/>\
-${gen_filters('grpc_unsecure', libs, targets)}
diff --git a/templates/vsprojects/vs2010/grpc_unsecure.vcxproj.template b/templates/vsprojects/vs2010/grpc_unsecure.vcxproj.template
deleted file mode 100644
index 4f62b85a85..0000000000
--- a/templates/vsprojects/vs2010/grpc_unsecure.vcxproj.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj_defs.include" import="gen_project"/>\
-${gen_project('grpc_unsecure', libs, targets)} \ No newline at end of file
diff --git a/templates/vsprojects/vs2010/vcxproj.filters_defs.include b/templates/vsprojects/vs2010/vcxproj.filters_defs.include
deleted file mode 100644
index 539ae932f1..0000000000
--- a/templates/vsprojects/vs2010/vcxproj.filters_defs.include
+++ /dev/null
@@ -1,64 +0,0 @@
-<%!
- import re
- import hashlib
-
- def calc_to_filter(path):
- return '\\'.join(path.split('/')[:-1])
-%>\
-<%def name="to_windows_path(path)">${path.replace('/','\\')}</%def>\
-<%def name="to_filter(path)">${calc_to_filter(path)}</%def>\
-<%def name="filter_to_guid(proj, filter)">${re.sub('(........)(....)(....)(....)', r'\1-\2-\3-\4-', hashlib.md5(''.join([filter, proj])).hexdigest())}</%def>\
-<%def name="gen_filters(name, libs, targets)">\
-% for project in vsprojects:
- % if project.name == name:
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- % if project.get('src',[]):
- <ItemGroup>
- % for src_name in project.src:
- <ClCompile Include="..\..\${to_windows_path(src_name)}">
- <Filter>${to_filter(src_name)}</Filter>
- </ClCompile>
- % endfor
- </ItemGroup>
- % endif
- % if project.get('public_headers',[]):
- <ItemGroup>
- % for public_header in project.public_headers:
- <ClInclude Include="..\..\${to_windows_path(public_header)}">
- <Filter>${to_filter(public_header)}</Filter>
- </ClInclude>
- % endfor
- </ItemGroup>
- % endif
- % if project.get('headers',[]):
- <ItemGroup>
- % for header in project.headers:
- <ClInclude Include="..\..\${to_windows_path(header)}">
- <Filter>${to_filter(header)}</Filter>
- </ClInclude>
- % endfor
- </ItemGroup>
- % endif
-<%
- filters = set()
- files = project.get('src', []) + project.get('public_headers', []) + project.get('headers', [])
- for file in files:
- filter = calc_to_filter(file)
- paths = filter.split('\\')
- for i in range(len(paths)):
- filters.add('\\'.join(paths[:i + 1]))
-
- filters = sorted(filters)
-%>
- <ItemGroup>
- % for filter in filters:
- <Filter Include="${filter}">
- <UniqueIdentifier>{${filter_to_guid(project.name, filter)}}</UniqueIdentifier>
- </Filter>
- % endfor
- </ItemGroup>
-</Project>
- % endif
-% endfor
-</%def>\ \ No newline at end of file
diff --git a/templates/vsprojects/vs2010/vcxproj_defs.include b/templates/vsprojects/vs2010/vcxproj_defs.include
deleted file mode 100644
index 8fd78a34dc..0000000000
--- a/templates/vsprojects/vs2010/vcxproj_defs.include
+++ /dev/null
@@ -1,131 +0,0 @@
-<%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 = [], depends_on_zlib = False)">\
-% for project in vsprojects:
- % if project.name == name:
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>${project_guid if project_guid else project.vs_project_guid}</ProjectGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>${configuration_type}</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- <IntDir>$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>${configuration_type}</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <CharacterSet>Unicode</CharacterSet>
- <IntDir>$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="global.props" />
- % for prop in additional_props:
- <Import Project="${prop}.props" />
- % endfor
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="global.props" />
- % for prop in additional_props:
- <Import Project="${prop}.props" />
- % endfor
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <TargetName>${name}</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <TargetName>${name}</TargetName>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_USE_32BIT_TIME_T;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <SubSystem>${get_subsystem(project.is_library)}</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <Optimization>MaxSpeed</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_USE_32BIT_TIME_T;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <SubSystem>${get_subsystem(project.is_library)}</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- </ItemDefinitionGroup>
- % if project.get('public_headers',[]):
- <ItemGroup>
- % for public_header in project.public_headers:
- <ClInclude Include="..\..\${to_windows_path(public_header)}" />
- % endfor
- </ItemGroup>
- % endif
- % if project.get('headers',[]):
- <ItemGroup>
- % for header in project.headers:
- <ClInclude Include="..\..\${to_windows_path(header)}" />
- % endfor
- </ItemGroup>
- % endif
- % if project.get('src',[]):
- <ItemGroup>
- % for src_name in project.src:
- <ClCompile Include="..\..\${to_windows_path(src_name)}">
- </ClCompile>
- % endfor
- </ItemGroup>
- % endif
- % if project.get('deps',[]):
- <ItemGroup>
- % for dep in project.deps:
- <ProjectReference Include="${dep}.vcxproj">
- <Project>${vsproject_dict[dep].vs_project_guid}</Project>
- </ProjectReference>
- % endfor
- % if depends_on_zlib:
- <ProjectReference Include="third_party\zlibvc.vcxproj">
- <Project>{8fd826f8-3739-44e6-8cc8-997122e53b8d}</Project>
- </ProjectReference>
- % endif
- </ItemGroup>
- % endif
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
- % endif
-% endfor
-</%def>\ \ No newline at end of file
diff --git a/templates/vsprojects/vs2013/gpr.vcxproj.filters.template b/templates/vsprojects/vs2013/gpr.vcxproj.filters.template
deleted file mode 100644
index c8b2ce099e..0000000000
--- a/templates/vsprojects/vs2013/gpr.vcxproj.filters.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj.filters_defs.include" import="gen_filters"/>\
-${gen_filters('gpr', libs, targets)}
diff --git a/templates/vsprojects/vs2013/gpr.vcxproj.template b/templates/vsprojects/vs2013/gpr.vcxproj.template
deleted file mode 100644
index c478aadcdd..0000000000
--- a/templates/vsprojects/vs2013/gpr.vcxproj.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj_defs.include" import="gen_project"/>\
-${gen_project('gpr', libs, targets)}
diff --git a/templates/vsprojects/vs2013/gpr_test_util.vcxproj.template b/templates/vsprojects/vs2013/gpr_test_util.vcxproj.template
deleted file mode 100644
index 1f1bc0a5fb..0000000000
--- a/templates/vsprojects/vs2013/gpr_test_util.vcxproj.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj_defs.include" import="gen_project"/>\
-${gen_project('gpr_test_util', libs, targets)} \ No newline at end of file
diff --git a/templates/vsprojects/vs2013/grpc++.vcxproj.filters.template b/templates/vsprojects/vs2013/grpc++.vcxproj.filters.template
deleted file mode 100644
index d74cce8c78..0000000000
--- a/templates/vsprojects/vs2013/grpc++.vcxproj.filters.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj.filters_defs.include" import="gen_filters"/>\
-${gen_filters('grpc++', libs, targets)}
diff --git a/templates/vsprojects/vs2013/grpc++.vcxproj.template b/templates/vsprojects/vs2013/grpc++.vcxproj.template
deleted file mode 100644
index 93994bb392..0000000000
--- a/templates/vsprojects/vs2013/grpc++.vcxproj.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj_defs.include" import="gen_project"/>\
-${gen_project('grpc++', libs, targets)} \ No newline at end of file
diff --git a/templates/vsprojects/vs2013/grpc.sln.template b/templates/vsprojects/vs2013/grpc.sln.template
deleted file mode 100644
index 2b0f76b90d..0000000000
--- a/templates/vsprojects/vs2013/grpc.sln.template
+++ /dev/null
@@ -1,67 +0,0 @@
-## Template for Visual Studio solution
-## based on http://msdn.microsoft.com/en-us/library/bb165951(v=vs.90).aspx
-## NOTE: tabs in this file are needed by Visual Studio to correctly interpret
-## the file.
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.21005.1
-MinimumVisualStudioVersion = 10.0.40219.1
-<%
-## Visual Studio uses GUIDs for project types
-## http://msdn.microsoft.com/en-us/library/hb23x61k%28v=vs.80%29.aspx
-cpp_proj_type = "{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}"
-%>\
-% for project in vsprojects:
-Project("${cpp_proj_type}") = "${project.name}", "${project.name}.vcxproj", "${project.vs_project_guid}"
- % if project.get('deps', None):
- ProjectSection(ProjectDependencies) = postProject
- % for dep in project.get('deps', []):
- ${vsproject_dict[dep].vs_project_guid} = ${vsproject_dict[dep].vs_project_guid}
- % endfor
- EndProjectSection
- % endif
-EndProject
-% endfor
-Project("${cpp_proj_type}") = "grpc_csharp_ext_shared", "grpc_csharp_ext_shared.vcxproj", "{C26D04A8-37C6-44C7-B458-906C9FCE928C}"
-EndProject
-Project("${cpp_proj_type}") = "zlibvc", "third_party\zlibvc.vcxproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "third_party", "third_party", "{DD51818F-0BCA-4035-9E5B-F28A9F87DED4}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
-% for project in vsprojects:
- ${project.vs_project_guid}.Debug|Win32.ActiveCfg = Debug|Win32
- ${project.vs_project_guid}.Debug|Win32.Build.0 = Debug|Win32
- ${project.vs_project_guid}.Release|Win32.ActiveCfg = Release|Win32
- ${project.vs_project_guid}.Release|Win32.Build.0 = Release|Win32
-% endfor
- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.ActiveCfg = Debug|Win32
- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.Build.0 = Debug|Win32
- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32
- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32
- {3D304D6B-AAF8-428B-AC7D-A698DDDE93C0}.Debug|Win32.ActiveCfg = Debug|Win32
- {3D304D6B-AAF8-428B-AC7D-A698DDDE93C0}.Debug|Win32.Build.0 = Debug|Win32
- {3D304D6B-AAF8-428B-AC7D-A698DDDE93C0}.Release|Win32.ActiveCfg = Release|Win32
- {3D304D6B-AAF8-428B-AC7D-A698DDDE93C0}.Release|Win32.Build.0 = Release|Win32
- {F2EE8FDB-F1E0-43A0-A297-6F255BB52AAA}.Debug|Win32.ActiveCfg = Debug|Win32
- {F2EE8FDB-F1E0-43A0-A297-6F255BB52AAA}.Debug|Win32.Build.0 = Debug|Win32
- {F2EE8FDB-F1E0-43A0-A297-6F255BB52AAA}.Release|Win32.ActiveCfg = Release|Win32
- {F2EE8FDB-F1E0-43A0-A297-6F255BB52AAA}.Release|Win32.Build.0 = Release|Win32
- {C26D04A8-37C6-44C7-B458-906C9FCE928C}.Debug|Win32.ActiveCfg = Debug|Win32
- {C26D04A8-37C6-44C7-B458-906C9FCE928C}.Debug|Win32.Build.0 = Debug|Win32
- {C26D04A8-37C6-44C7-B458-906C9FCE928C}.Release|Win32.ActiveCfg = Release|Win32
- {C26D04A8-37C6-44C7-B458-906C9FCE928C}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {8FD826F8-3739-44E6-8CC8-997122E53B8D} = {DD51818F-0BCA-4035-9E5B-F28A9F87DED4}
- EndGlobalSection
-EndGlobal
diff --git a/templates/vsprojects/vs2013/grpc.vcxproj.filters.template b/templates/vsprojects/vs2013/grpc.vcxproj.filters.template
deleted file mode 100644
index b8e91bd61c..0000000000
--- a/templates/vsprojects/vs2013/grpc.vcxproj.filters.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj.filters_defs.include" import="gen_filters"/>\
-${gen_filters('grpc', libs, targets)}
diff --git a/templates/vsprojects/vs2013/grpc.vcxproj.template b/templates/vsprojects/vs2013/grpc.vcxproj.template
deleted file mode 100644
index 3de6453f52..0000000000
--- a/templates/vsprojects/vs2013/grpc.vcxproj.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj_defs.include" import="gen_project"/>\
-${gen_project('grpc', libs, targets)} \ No newline at end of file
diff --git a/templates/vsprojects/vs2013/grpc_csharp_ext.vcxproj.template b/templates/vsprojects/vs2013/grpc_csharp_ext.vcxproj.template
deleted file mode 100644
index 84aa50209a..0000000000
--- a/templates/vsprojects/vs2013/grpc_csharp_ext.vcxproj.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj_defs.include" import="gen_project"/>\
-${gen_project('grpc_csharp_ext', libs, targets)}
diff --git a/templates/vsprojects/vs2013/grpc_csharp_ext_shared.vcxproj.template b/templates/vsprojects/vs2013/grpc_csharp_ext_shared.vcxproj.template
deleted file mode 100644
index 193a2cd13f..0000000000
--- a/templates/vsprojects/vs2013/grpc_csharp_ext_shared.vcxproj.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj_defs.include" import="gen_project"/>\
-${gen_project('grpc_csharp_ext', libs, targets, configuration_type = 'DynamicLibrary', project_guid = '{C26D04A8-37C6-44C7-B458-906C9FCE928C}', additional_props = ['winsock', 'ssl'])}
diff --git a/templates/vsprojects/vs2013/grpc_test_util.vcxproj.template b/templates/vsprojects/vs2013/grpc_test_util.vcxproj.template
deleted file mode 100644
index 72e625d9b9..0000000000
--- a/templates/vsprojects/vs2013/grpc_test_util.vcxproj.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj_defs.include" import="gen_project"/>\
-${gen_project('grpc_test_util', libs, targets)} \ No newline at end of file
diff --git a/templates/vsprojects/vs2013/grpc_unsecure.vcxproj.filters.template b/templates/vsprojects/vs2013/grpc_unsecure.vcxproj.filters.template
deleted file mode 100644
index ef918922ef..0000000000
--- a/templates/vsprojects/vs2013/grpc_unsecure.vcxproj.filters.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj.filters_defs.include" import="gen_filters"/>\
-${gen_filters('grpc_unsecure', libs, targets)}
diff --git a/templates/vsprojects/vs2013/grpc_unsecure.vcxproj.template b/templates/vsprojects/vs2013/grpc_unsecure.vcxproj.template
deleted file mode 100644
index 4f62b85a85..0000000000
--- a/templates/vsprojects/vs2013/grpc_unsecure.vcxproj.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj_defs.include" import="gen_project"/>\
-${gen_project('grpc_unsecure', libs, targets)} \ No newline at end of file