diff options
author | 2015-09-04 19:53:42 +0200 | |
---|---|---|
committer | 2015-09-04 19:53:42 +0200 | |
commit | b70e3be0409225b0e389379cc62d740694b888ac (patch) | |
tree | f7a440e38c549393e0596fb283a94d28c423ae0b /templates/vsprojects/Grpc.mak.template | |
parent | 38b32c077bf3095c3dfbdb84c2c3afe47df35c1b (diff) | |
parent | 02128e9bbf92c3900f0927a724482b5b3ff7541f (diff) |
Merge branch 'master' of github.com:grpc/grpc into winnt-check
Conflicts:
vsprojects/global.props
Diffstat (limited to 'templates/vsprojects/Grpc.mak.template')
-rw-r--r-- | templates/vsprojects/Grpc.mak.template | 206 |
1 files changed, 0 insertions, 206 deletions
diff --git a/templates/vsprojects/Grpc.mak.template b/templates/vsprojects/Grpc.mak.template deleted file mode 100644 index 9d2f676d38..0000000000 --- a/templates/vsprojects/Grpc.mak.template +++ /dev/null @@ -1,206 +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 -%>\ -<%namespace file="packages.include" import="get_openssl,get_zlib"/>\ -<%def name="to_windows_path(path)">${path.replace('/','\\')}</%def>\ -<% - build_from_project_file = set(['gpr', - 'gpr_test_util', - 'grpc', - 'grpc_test_util', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'grpc++', - 'grpc++_unsecure' - ]) - buildable_targets = [ target for target in targets + libs - if target.build in ['all', 'test', 'private', 'tool', 'benchmark'] and - target.language in ['c', 'c++'] and - all([(src.endswith('.c') or src.endswith('.cc') or src.endswith('.proto')) for src in target.src]) and - 'windows' in target.get('platforms', ['windows']) ] - c_test_targets = [ target for target in buildable_targets if target.build == 'test' and not target.language == 'c++' ] - cxx_test_targets = [ target for target in buildable_targets if target.build == 'test' and target.language == 'c++' ] -%>\ -# 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 /nologo -LINK=link.exe /nologo -LIBTOOL=lib.exe /nologo /nodefaultlib - -REPO_ROOT=.. -OPENSSL_INCLUDES = .\packages\${get_openssl()}\build\native\include -ZLIB_INCLUDES = .\packages\${get_zlib()}\build\native\include -INCLUDES=/I$(REPO_ROOT) /I$(REPO_ROOT)\include /I$(OPENSSL_INCLUDES) /I$(ZLIB_INCLUDES) - -GFLAGS_INCLUDES = .\..\third_party\gflags\include -GTEST_INCLUDES = .\..\third_party\gtest\include -PROTOBUF_INCLUDES = .\..\third_party\protobuf\src -CXX_INCLUDES=/I$(GFLAGS_INCLUDES) /I$(GTEST_INCLUDES) /I$(PROTOBUF_INCLUDES) - -#_SCL_SECURE_NO_WARNINGS supresses a ton of "potentially unsafe use of std lib" warnings -DEFINES=/D WIN32 /D _LIB /D _USE_32BIT_TIME_T /D _UNICODE /D UNICODE /D _CRT_SECURE_NO_WARNINGS /D _SCL_SECURE_NO_WARNINGS - -#important options: /TC vs. /TP: compile as C vs. compile as C++ -CFLAGS=/c $(INCLUDES) /Z7 /W3 /WX- /sdl $(DEFINES) /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Gd /TC /analyze- -CXXFLAGS=/c $(INCLUDES) $(CXX_INCLUDES) /Z7 /W3 /WX- /sdl $(DEFINES) /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Gd /TP /analyze- - -LFLAGS=/DEBUG /INCREMENTAL /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 - -OPENSSL_LIBS=.\packages\${get_openssl()}\build\native\lib\v120\Win32\Debug\static\ssleay32.lib .\packages\${get_openssl()}\build\native\lib\v120\Win32\Debug\static\libeay32.lib -WINSOCK_LIBS=ws2_32.lib -GENERAL_LIBS=advapi32.lib comdlg32.lib gdi32.lib kernel32.lib odbc32.lib odbccp32.lib ole32.lib oleaut32.lib shell32.lib user32.lib uuid.lib winspool.lib -ZLIB_LIBS=.\packages\${get_zlib()}\build\native\lib\v120\Win32\Debug\static\cdecl\zlib.lib -LIBS=$(OPENSSL_LIBS) $(ZLIB_LIBS) $(GENERAL_LIBS) $(WINSOCK_LIBS) - -#shlwapi.lib provides PathMatchSpec() for gflags in windows -GFLAGS_LIBS=.\..\third_party\gflags\lib\Debug\gflags.lib shlwapi.lib -GTEST_LIBS=.\..\third_party\gtest\msvc\gtest\Debug\gtestd.lib -PROTOBUF_LIBS=.\..\third_party\protobuf\vsprojects\Debug\libprotobuf.lib -CXX_LIBS=$(GFLAGS_LIBS) $(GTEST_LIBS) $(PROTOBUF_LIBS) - -all: buildtests - -tools: - -tools_c: - -tools_cxx: - -$(OUT_DIR): - mkdir $(OUT_DIR) - -build_libs: \ -% for target in buildable_targets: -% if target.build == 'private' or target.build == 'all': -% if target.name in build_from_project_file: -build_${target.name} \ -% else: -Debug\${target.name}.lib \ -% endif -% endif -% endfor - -buildtests: buildtests_c buildtests_cxx - -buildtests_c: \ -% for target in c_test_targets: -${target.name}.exe \ -% endfor - - echo All C tests built. - -buildtests_cxx: \ -% for target in cxx_test_targets: -${target.name}.exe \ -% endfor - - echo All C++ tests built. - -% for target in buildable_targets: - -## replace all .proto includes with .pb.cc / .grpc.pb.cc -%if target.src: -%for source in target.src: -%if source.endswith(".proto"): -<% - src_name_parts = source.split(".") - target.src.append(src_name_parts[0] + ".pb.cc") - target.src.append(src_name_parts[0] + ".grpc.pb.cc") -%>\ -%endif -%endfor -%endif -## remove all .proto includes -<% - target.src = [item for item in target.src if not re.search('([^/]+)\.proto$', item)] -%>\ -%if target.name in build_from_project_file: -build_${target.name}: - msbuild grpc.sln /t:${target.name} /p:Configuration=Debug /p:Linkage-grpc_dependencies_zlib=static -%else: -%if target.build == 'private': -Debug\${target.name}.lib: \ -%else: -${target.name}.exe: \ -%for dep in target.get('deps', []): -%if dep in build_from_project_file: -build_${dep} \ -%else: -Debug\${dep}.lib \ -%endif -%endfor -%endif -$(OUT_DIR) - echo Building ${target.name} -%if target.language == 'c++': - $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ \ -%else: - $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ \ -%endif -%for source in target.src: -$(REPO_ROOT)\${to_windows_path(source)} \ -%endfor -%if not target.src: -$(REPO_ROOT)\${to_windows_path('vsprojects/dummy.c')} \ -%endif - -%if target.build == 'private': - $(LIBTOOL) /OUT:"Debug\${target.name}.lib" \ -%else: - $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\${target.name}.exe" \ -%for dep in target.get('deps', []): -Debug\${dep}.lib \ -%endfor -%if target.language == 'c++': -$(CXX_LIBS) \ -%endif -$(LIBS) \ -%endif -%if not target.src: -$(OUT_DIR)\dummy.obj \ -%else: -%for source in target.src: -%if re.search('([^/]+)\.c{1,2}$', source): -$(OUT_DIR)\${re.search('([^/]+)\.c{1,2}$', source).group(1)}.obj \ -%endif -%endfor -%endif - -%if target.build != 'private': -${target.name}: ${target.name}.exe - echo Running ${target.name} - $(OUT_DIR)\${target.name}.exe -%endif -%endif -% endfor |