aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArkadiy Shapkin <arkady.shapkin@gmail.com>2016-09-23 18:10:50 +0300
committerArkadiy Shapkin <arkady.shapkin@gmail.com>2016-10-04 01:56:16 +0300
commit7af1d8d390d7bbfde2d51af2872c05c8349179b4 (patch)
tree983d5be5698ee3a6381e4d54a12ac7f283ce88c6
parent5294d368415da8e2ba838c4b4e5dc9a0645b93c9 (diff)
downloadvcpkg-7af1d8d390d7bbfde2d51af2872c05c8349179b4.tar.gz
vcpkg-7af1d8d390d7bbfde2d51af2872c05c8349179b4.zip
[grpc] Initial addition
-rw-r--r--ports/grpc/CONTROL4
-rw-r--r--ports/grpc/portfile.cmake58
2 files changed, 62 insertions, 0 deletions
diff --git a/ports/grpc/CONTROL b/ports/grpc/CONTROL
new file mode 100644
index 000000000..ece5b96ce
--- /dev/null
+++ b/ports/grpc/CONTROL
@@ -0,0 +1,4 @@
+Source: grpc
+Version: 1.1.0-dev-1674f65
+Build-Depends: zlib, openssl, protobuf
+Description: An RPC library and framework \ No newline at end of file
diff --git a/ports/grpc/portfile.cmake b/ports/grpc/portfile.cmake
new file mode 100644
index 000000000..3cb62ae51
--- /dev/null
+++ b/ports/grpc/portfile.cmake
@@ -0,0 +1,58 @@
+include(vcpkg_common_functions)
+find_program(GIT git)
+
+set(GIT_URL "https://github.com/grpc/grpc.git")
+set(GIT_REV "1674f650ad9411448a35b7c19c5dbdaf0ebd8916")
+
+if(NOT EXISTS "${DOWNLOADS}/grpc.git")
+ message(STATUS "Cloning")
+ vcpkg_execute_required_process(
+ COMMAND ${GIT} clone --bare ${GIT_URL} ${DOWNLOADS}/grpc.git
+ WORKING_DIRECTORY ${DOWNLOADS}
+ LOGNAME clone
+ )
+endif()
+message(STATUS "Cloning done")
+
+if(NOT EXISTS "${CURRENT_BUILDTREES_DIR}/src/.git")
+ message(STATUS "Adding worktree")
+ vcpkg_execute_required_process(
+ COMMAND ${GIT} worktree add -f --detach ${CURRENT_BUILDTREES_DIR}/src ${GIT_REV}
+ WORKING_DIRECTORY ${DOWNLOADS}/grpc.git
+ LOGNAME worktree
+ )
+ message(STATUS "Updating sumbodules")
+ vcpkg_execute_required_process(
+ COMMAND ${GIT} submodule update --init third_party/nanopb
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src
+ LOGNAME submodule
+ )
+endif()
+message(STATUS "Adding worktree and updating sumbodules done")
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src
+ OPTIONS
+ -DgRPC_INSTALL=ON
+ -DgRPC_ZLIB_PROVIDER=package
+ -DgRPC_SSL_PROVIDER=package
+ -DgRPC_PROTOBUF_PROVIDER=package
+)
+
+vcpkg_build_cmake()
+vcpkg_install_cmake()
+
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/grpc)
+file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake/gRPC/gRPCConfig.cmake ${CURRENT_PACKAGES_DIR}/share/grpc/gRPCConfig.cmake)
+file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake/gRPC/gRPCConfigVersion.cmake ${CURRENT_PACKAGES_DIR}/share/grpc/gRPCConfigVersion.cmake)
+file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake/gRPC/gRPCTargets.cmake ${CURRENT_PACKAGES_DIR}/share/grpc/gRPCTargets.cmake)
+file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake/gRPC/gRPCTargets-release.cmake ${CURRENT_PACKAGES_DIR}/share/grpc/gRPCTargets-release.cmake)
+file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/cmake/gRPC/gRPCTargets-debug.cmake ${CURRENT_PACKAGES_DIR}/share/grpc/gRPCTargets-debug.cmake)
+
+file(INSTALL ${CURRENT_BUILDTREES_DIR}/src/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/grpc RENAME copyright)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake)
+
+vcpkg_copy_pdbs()