From cda87fa3afdacf20a097cf6ed90c5c2ef64e0437 Mon Sep 17 00:00:00 2001 From: Gil Date: Mon, 16 Jul 2018 08:50:53 -0700 Subject: Convert grpc and protobuf CMake builds to add_subdirectory (#1537) * Build zlib with grpc's add_subdirectory * Build grpc and its children with add_subdirectory. * Build c-ares with grpc's add_subdirectory * Convert protobuf to a download-only ExternalProject * Temporarily break protobuf within grpc This works because libgrpc has no actual dependency on protobuf * Update boringssl to master@{2018-07-10} --- cmake/external/c-ares.cmake | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'cmake/external/c-ares.cmake') diff --git a/cmake/external/c-ares.cmake b/cmake/external/c-ares.cmake index dbe0eb0..01e1a79 100644 --- a/cmake/external/c-ares.cmake +++ b/cmake/external/c-ares.cmake @@ -18,21 +18,26 @@ if(TARGET c-ares) return() endif() +# The gRPC build fails if c-ares is not present in its expected location so +# this ExternalProject unpacks itself inside the gRPC source tree. CMake clears +# the SOURCE_DIR when unpacking so this must come after the grpc +# ExternalProject. + ExternalProject_Add( c-ares + DEPENDS + grpc-download + DOWNLOAD_DIR ${FIREBASE_DOWNLOAD_DIR} URL https://github.com/c-ares/c-ares/archive/cares-1_14_0.tar.gz URL_HASH SHA256=62dd12f0557918f89ad6f5b759f0bf4727174ae9979499f5452c02be38d9d3e8 PREFIX ${PROJECT_BINARY_DIR} + SOURCE_DIR ${PROJECT_BINARY_DIR}/src/grpc/third_party/cares/cares - CMAKE_ARGS - -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE} - -DCMAKE_INSTALL_PREFIX:STRING=${FIREBASE_INSTALL_DIR} - -DCARES_STATIC:BOOL=ON - -DCARES_SHARED:BOOL=OFF - -DCARES_STATIC_PIC:BOOL=ON - - TEST_COMMAND "" + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND "" + TEST_COMMAND "" ) -- cgit v1.2.3