diff options
author | Mark D. Roth <roth@google.com> | 2016-08-02 10:26:30 -0700 |
---|---|---|
committer | Mark D. Roth <roth@google.com> | 2016-08-02 10:26:30 -0700 |
commit | 51c7b917d31e79a42284298afb5b8cdf35a96a16 (patch) | |
tree | 75934360435307e8c515c83c20bd5d5202460be3 /templates | |
parent | 63aa0f745bb032eb743b5a480d009b45ed927221 (diff) | |
parent | 1e3fdbe7fd7831fe31b05a3da8044872564c4351 (diff) |
Merge remote-tracking branch 'upstream/master' into http_connect
Diffstat (limited to 'templates')
-rw-r--r-- | templates/CMakeLists.txt.template | 166 | ||||
-rw-r--r-- | templates/package.xml.template | 19 | ||||
-rw-r--r-- | templates/src/csharp/Grpc.Core.Tests/project.json.template | 5 | ||||
-rw-r--r-- | templates/src/node/health_check/package.json.template | 4 |
4 files changed, 168 insertions, 26 deletions
diff --git a/templates/CMakeLists.txt.template b/templates/CMakeLists.txt.template index 52e8b866be..4e4223493b 100644 --- a/templates/CMakeLists.txt.template +++ b/templates/CMakeLists.txt.template @@ -42,14 +42,16 @@ <%! def get_deps(target_dict): deps = [] + if target_dict.get('baselib', False): + deps.append("${_gRPC_BASELIB_LIBRARIES}") if target_dict.get('build', None) in ['protoc']: - deps.append("libprotoc") + deps.append("${_gRPC_PROTOBUF_PROTOC_LIBRARIES}") if target_dict.get('secure', False): - deps = ["ssl"] + deps.append("${_gRPC_SSL_LIBRARIES}") if target_dict['name'] in ['grpc++', 'grpc++_unsecure', 'grpc++_codegen_lib']: - deps.append("libprotobuf") + deps.append("${_gRPC_PROTOBUF_LIBRARIES}") elif target_dict['name'] in ['grpc']: - deps.append("zlibstatic") + deps.append("${_gRPC_ZLIB_LIBRARIES}") for d in target_dict.get('deps', []): deps.append(d) return deps @@ -64,39 +66,127 @@ set(PACKAGE_BUGREPORT "https://github.com/grpc/grpc/issues/") project(<%text>${PACKAGE_NAME}</%text> C CXX) - if(NOT BORINGSSL_ROOT_DIR) - set(BORINGSSL_ROOT_DIR <%text>${CMAKE_CURRENT_SOURCE_DIR}</%text>/third_party/boringssl) + set(gRPC_ZLIB_PROVIDER "module" CACHE STRING "Provider of zlib library") + set_property(CACHE gRPC_ZLIB_PROVIDER PROPERTY STRINGS "module" "package") + + set(gRPC_SSL_PROVIDER "module" CACHE STRING "Provider of ssl library") + set_property(CACHE gRPC_SSL_PROVIDER PROPERTY STRINGS "module" "package") + + set(gRPC_PROTOBUF_PROVIDER "module" CACHE STRING "Provider of protobuf library") + set_property(CACHE gRPC_PROTOBUF_PROVIDER PROPERTY STRINGS "module" "package") + + set(gRPC_USE_PROTO_LITE OFF CACHE BOOL "Use the protobuf-lite library") + + if (gRPC_USE_PROTO_LITE) + set(_gRPC_PROTOBUF_LIBRARY_NAME "libprotobuf-lite") + add_definitions("-DGRPC_USE_PROTO_LITE") + else() + set(_gRPC_PROTOBUF_LIBRARY_NAME "libprotobuf") + endif() + + if("<%text>${gRPC_ZLIB_PROVIDER}</%text>" STREQUAL "module") + if(NOT ZLIB_ROOT_DIR) + set(ZLIB_ROOT_DIR <%text>${CMAKE_CURRENT_SOURCE_DIR}</%text>/third_party/zlib) + endif() + set(ZLIB_INCLUDE_DIR "<%text>${ZLIB_ROOT_DIR}</%text>") + if(EXISTS "<%text>${ZLIB_ROOT_DIR}</%text>/CMakeLists.txt") + add_subdirectory(<%text>${ZLIB_ROOT_DIR}</%text> third_party/zlib) + if(TARGET zlibstatic) + set(_gRPC_ZLIB_LIBRARIES zlibstatic) + endif() + else() + message(WARNING "gRPC_ZLIB_PROVIDER is \"module\" but ZLIB_ROOT_DIR is wrong") + endif() + elseif("<%text>${gRPC_ZLIB_PROVIDER}</%text>" STREQUAL "package") + find_package(ZLIB) + if(TARGET ZLIB::ZLIB) + set(_gRPC_ZLIB_LIBRARIES ZLIB::ZLIB) + endif() + set(_gRPC_FIND_ZLIB "if(NOT ZLIB_FOUND)\n find_package(ZLIB)\nendif()") endif() - if(NOT PROTOBUF_ROOT_DIR) - set(PROTOBUF_ROOT_DIR <%text>${CMAKE_CURRENT_SOURCE_DIR}</%text>/third_party/protobuf) + + if("<%text>${gRPC_PROTOBUF_PROVIDER}</%text>" STREQUAL "module") + # Building the protobuf tests require gmock what is not part of a standard protobuf checkout. + # Disable them unless they are explicitly requested from the cmake command line (when we assume + # gmock is downloaded to the right location inside protobuf). + if(NOT protobuf_BUILD_TESTS) + set(protobuf_BUILD_TESTS OFF CACHE BOOL "Build protobuf tests") + endif() + if(NOT PROTOBUF_ROOT_DIR) + set(PROTOBUF_ROOT_DIR <%text>${CMAKE_CURRENT_SOURCE_DIR}</%text>/third_party/protobuf) + endif() + if(EXISTS "<%text>${PROTOBUF_ROOT_DIR}</%text>/cmake/CMakeLists.txt") + add_subdirectory(<%text>${PROTOBUF_ROOT_DIR}</%text>/cmake third_party/protobuf) + if(TARGET <%text>${_gRPC_PROTOBUF_LIBRARY_NAME}</%text>) + set(_gRPC_PROTOBUF_LIBRARIES <%text>${_gRPC_PROTOBUF_LIBRARY_NAME}</%text>) + endif() + if(TARGET libprotoc) + set(_gRPC_PROTOBUF_PROTOC_LIBRARIES libprotoc) + endif() + else() + message(WARNING "gRPC_PROTOBUF_PROVIDER is \"module\" but PROTOBUF_ROOT_DIR is wrong") + endif() + elseif("<%text>${gRPC_PROTOBUF_PROVIDER}</%text>" STREQUAL "package") + find_package(protobuf CONFIG) + if(protobuf_FOUND) + if(TARGET protobuf::<%text>${_gRPC_PROTOBUF_LIBRARY_NAME}</%text>) + set(_gRPC_PROTOBUF_LIBRARIES protobuf::<%text>${_gRPC_PROTOBUF_LIBRARY_NAME}</%text>) + endif() + if(TARGET protobuf::libprotoc) + set(_gRPC_PROTOBUF_PROTOC_LIBRARIES protobuf::libprotoc) + endif() + set(_gRPC_FIND_PROTOBUF "if(NOT protobuf_FOUND)\n find_package(protobuf CONFIG)\nendif()") + else() + find_package(Protobuf MODULE) + set(_gRPC_FIND_PROTOBUF "if(NOT Protobuf_FOUND)\n find_package(Protobuf)\nendif()") + endif() endif() - if(NOT ZLIB_ROOT_DIR) - set(ZLIB_ROOT_DIR <%text>${CMAKE_CURRENT_SOURCE_DIR}</%text>/third_party/zlib) + + if("<%text>${gRPC_SSL_PROVIDER}</%text>" STREQUAL "module") + if(NOT BORINGSSL_ROOT_DIR) + set(BORINGSSL_ROOT_DIR <%text>${CMAKE_CURRENT_SOURCE_DIR}</%text>/third_party/boringssl) + endif() + if(EXISTS "<%text>${BORINGSSL_ROOT_DIR}</%text>/CMakeLists.txt") + add_subdirectory(<%text>${BORINGSSL_ROOT_DIR}</%text> third_party/boringssl) + if(TARGET ssl) + set(_gRPC_SSL_LIBRARIES ssl) + endif() + else() + message(WARNING "gRPC_SSL_PROVIDER is \"module\" but BORINGSSL_ROOT_DIR is wrong") + endif() + elseif("<%text>${gRPC_SSL_PROVIDER}</%text>" STREQUAL "package") + find_package(OpenSSL) + if(TARGET OpenSSL::SSL) + set(_gRPC_SSL_LIBRARIES OpenSSL::SSL) + endif() + set(_gRPC_FIND_SSL "if(NOT OpenSSL_FOUND)\n find_package(OpenSSL)\nendif()") endif() - # Building the protobuf tests require gmock what is not part of a standard protobuf checkout. - # Disable them unless they are explicitly requested from the cmake command line (when we assume - # gmock is downloaded to the right location inside protobuf). - if(NOT protobuf_BUILD_TESTS) - set(protobuf_BUILD_TESTS OFF CACHE BOOL "Build protobuf tests") + if(NOT MSVC) + set(CMAKE_C_FLAGS "<%text>${CMAKE_C_FLAGS}</%text> -std=c11") + set(CMAKE_CXX_FLAGS "<%text>${CMAKE_CXX_FLAGS}</%text> -std=c++11") endif() - add_subdirectory(<%text>${BORINGSSL_ROOT_DIR}</%text> third_party/boringssl) - add_subdirectory(<%text>${PROTOBUF_ROOT_DIR}</%text>/cmake third_party/protobuf) - add_subdirectory(<%text>${ZLIB_ROOT_DIR}</%text> third_party/zlib) + if(WIN32 AND MSVC) + set(_gRPC_BASELIB_LIBRARIES wsock32 ws2_32) + endif() - set(CMAKE_C_FLAGS "<%text>${CMAKE_C_FLAGS}</%text> -std=c11") - set(CMAKE_CXX_FLAGS "<%text>${CMAKE_CXX_FLAGS}</%text> -std=c++11") + include(GNUInstallDirs) + if(NOT DEFINED CMAKE_INSTALL_CMAKEDIR) + set(CMAKE_INSTALL_CMAKEDIR "<%text>${CMAKE_INSTALL_LIBDIR}</%text>/cmake/gRPC") + endif() % for lib in libs: % if lib.build in ["all", "protoc", "tool"]: ${cc_library(lib)} + ${cc_install(lib)} % endif % endfor % for tgt in targets: % if tgt.build in ["all", "protoc", "tool"]: ${cc_binary(tgt)} + ${cc_install(tgt)} % endif % endfor @@ -112,7 +202,7 @@ PRIVATE <%text>${CMAKE_CURRENT_SOURCE_DIR}</%text>/include PRIVATE <%text>${BORINGSSL_ROOT_DIR}</%text>/include PRIVATE <%text>${PROTOBUF_ROOT_DIR}</%text>/src - PRIVATE <%text>${ZLIB_ROOT_DIR}</%text> + PRIVATE <%text>${ZLIB_INCLUDE_DIR}</%text> PRIVATE <%text>${CMAKE_CURRENT_BINARY_DIR}</%text>/third_party/zlib ) @@ -123,6 +213,20 @@ % endfor ) % endif + + % if len(lib.get('public_headers', [])) > 0: + foreach(_hdr + % for hdr in lib.get('public_headers', []): + ${hdr} + % endfor + ) + string(REPLACE "include/" "" _path <%text>${_hdr}</%text>) + get_filename_component(_path <%text>${_path}</%text> PATH) + install(FILES <%text>${_hdr}</%text> + DESTINATION "<%text>${CMAKE_INSTALL_INCLUDEDIR}/${_path}</%text>" + ) + endforeach() + % endif </%def> <%def name="cc_binary(tgt)"> @@ -150,3 +254,23 @@ % endif </%def> + <%def name="cc_install(tgt)"> + install(TARGETS ${tgt.name} EXPORT gRPCTargets + RUNTIME DESTINATION <%text>${CMAKE_INSTALL_BINDIR}</%text> + LIBRARY DESTINATION <%text>${CMAKE_INSTALL_LIBDIR}</%text> + ARCHIVE DESTINATION <%text>${CMAKE_INSTALL_LIBDIR}</%text> + ) + </%def> + + install(EXPORT gRPCTargets + DESTINATION <%text>${CMAKE_INSTALL_CMAKEDIR}</%text> + NAMESPACE gRPC:: + ) + + foreach(_config gRPCConfig gRPCConfigVersion) + configure_file(tools/cmake/<%text>${_config}</%text>.cmake.in + <%text>${_config}</%text>.cmake @ONLY) + install(FILES <%text>${CMAKE_CURRENT_BINARY_DIR}/${_config}</%text>.cmake + DESTINATION <%text>${CMAKE_INSTALL_CMAKEDIR}</%text> + ) + endforeach() diff --git a/templates/package.xml.template b/templates/package.xml.template index 76c6fff7a7..87b1038959 100644 --- a/templates/package.xml.template +++ b/templates/package.xml.template @@ -12,7 +12,7 @@ <email>grpc-packages@google.com</email> <active>yes</active> </lead> - <date>2016-07-21</date> + <date>2016-07-28</date> <time>16:06:07</time> <version> <release>${settings.php_version.php()}</release> @@ -24,7 +24,7 @@ </stability> <license>BSD</license> <notes> - - PHP7 Support #7464 + - PHP7 Support continued, reduce code duplication #7543 </notes> <contents> <dir baseinstalldir="/" name="/"> @@ -234,5 +234,20 @@ - PHP7 Support #7464 </notes> </release> + <release> + <version> + <release>1.0.0RC3</release> + <api>1.0.0RC3</api> + </version> + <stability> + <release>stable</release> + <api>stable</api> + </stability> + <date>2016-07-28</date> + <license>BSD</license> + <notes> + - PHP7 Support continued, reduce code duplication #7543 + </notes> + </release> </changelog> </package> diff --git a/templates/src/csharp/Grpc.Core.Tests/project.json.template b/templates/src/csharp/Grpc.Core.Tests/project.json.template index bc9fa3e63a..d1ab9316f6 100644 --- a/templates/src/csharp/Grpc.Core.Tests/project.json.template +++ b/templates/src/csharp/Grpc.Core.Tests/project.json.template @@ -8,7 +8,10 @@ }, "Newtonsoft.Json": "8.0.3", "NUnit": "3.2.0", - "NUnitLite": "3.2.0-*" + "NUnitLite": "3.2.0-*", + "NUnit.ConsoleRunner": "3.2.0", + "OpenCover": "4.6.519", + "ReportGenerator": "2.4.4.0" }, "frameworks": { "net45": { }, diff --git a/templates/src/node/health_check/package.json.template b/templates/src/node/health_check/package.json.template index 1248ced1e1..96b9748aa7 100644 --- a/templates/src/node/health_check/package.json.template +++ b/templates/src/node/health_check/package.json.template @@ -21,11 +21,11 @@ "lodash": "^3.9.3", "google-protobuf": "^3.0.0-alpha.5" }, - "files": { + "files": [ "LICENSE", "health.js", "v1" - }, + ], "main": "src/node/index.js", "license": "BSD-3-Clause" } |