aboutsummaryrefslogtreecommitdiffhomepage
path: root/cmake
diff options
context:
space:
mode:
authorGravatar rsgowman <rgowman@google.com>2018-02-27 10:34:21 -0500
committerGravatar GitHub <noreply@github.com>2018-02-27 10:34:21 -0500
commitf05888198a668b5d2aa75c2c8941a6b3b176b9c6 (patch)
tree4c109fe8e906cb18e88b39f7b20b30520177068c /cmake
parenta6c0e3fbc4e39f407b93ad250cc2ed554b9219c6 (diff)
Convert cmake build to (mostly) use urls rather than git clones (#852)
Exception: grpc. Due to it's use of git submodules, it's not completely trivial to convert it (though probably wouldn't be too much more work.) This helps address our build being throttled. (Maybe. This assumes github allows more fetching of tgz's than clones.) It should also speed up our build times. The downloaded tarballs are placed into ${PROJECT_BINARY_DIR}/downloads. This allows for eventual caching in travis.
Diffstat (limited to 'cmake')
-rw-r--r--cmake/external/googletest.cmake12
-rw-r--r--cmake/external/leveldb.cmake12
-rw-r--r--cmake/external/nanopb.cmake11
-rw-r--r--cmake/external/protobuf.cmake12
4 files changed, 15 insertions, 32 deletions
diff --git a/cmake/external/googletest.cmake b/cmake/external/googletest.cmake
index 23a57f8..24da386 100644
--- a/cmake/external/googletest.cmake
+++ b/cmake/external/googletest.cmake
@@ -13,18 +13,14 @@
# limitations under the License.
include(ExternalProject)
-include(ExternalProjectFlags)
-
-ExternalProject_GitSource(
- GOOGLETEST_GIT
- GIT_REPOSITORY "https://github.com/google/googletest.git"
- GIT_TAG "release-1.8.0"
-)
ExternalProject_Add(
googletest
- ${GOOGLETEST_GIT}
+ DOWNLOAD_DIR ${PROJECT_BINARY_DIR}/downloads
+ DOWNLOAD_NAME googletest-1.8.0.tar.gz
+ URL https://github.com/google/googletest/archive/release-1.8.0.tar.gz
+ URL_HASH SHA256=58a6f4277ca2bc8565222b3bbd58a177609e9c488e8a72649359ba51450db7d8
PREFIX ${PROJECT_BINARY_DIR}/external/googletest
diff --git a/cmake/external/leveldb.cmake b/cmake/external/leveldb.cmake
index 60183ca..dcbef6c 100644
--- a/cmake/external/leveldb.cmake
+++ b/cmake/external/leveldb.cmake
@@ -13,7 +13,6 @@
# limitations under the License.
include(ExternalProject)
-include(ExternalProjectFlags)
if(WIN32 OR LEVELDB_ROOT)
# If the user has supplied a LEVELDB_ROOT then just use it. Add an empty
@@ -42,16 +41,13 @@ else()
$<$<CONFIG:Release>:${CMAKE_CXX_FLAGS_RELEASE}>"
)
- ExternalProject_GitSource(
- LEVELDB_GIT
- GIT_REPOSITORY "https://github.com/google/leveldb.git"
- GIT_TAG "v1.20"
- )
-
ExternalProject_Add(
leveldb
- ${LEVELDB_GIT}
+ DOWNLOAD_DIR ${PROJECT_BINARY_DIR}/downloads
+ DOWNLOAD_NAME leveldb-v1.20.tar.gz
+ URL https://github.com/google/leveldb/archive/v1.20.tar.gz
+ URL_HASH SHA256=f5abe8b5b209c2f36560b75f32ce61412f39a2922f7045ae764a2c23335b6664
PREFIX ${PROJECT_BINARY_DIR}/external/leveldb
diff --git a/cmake/external/nanopb.cmake b/cmake/external/nanopb.cmake
index d09c668..f68af0b 100644
--- a/cmake/external/nanopb.cmake
+++ b/cmake/external/nanopb.cmake
@@ -11,13 +11,6 @@
# limitations under the License.
include(ExternalProject)
-include(ExternalProjectFlags)
-
-ExternalProject_GitSource(
- NANOPB_GIT
- GIT_REPOSITORY "https://github.com/nanopb/nanopb.git"
- GIT_TAG "0.3.8"
-)
set(
NANOPB_PROTOC_BIN
@@ -29,7 +22,9 @@ ExternalProject_Add(
DEPENDS
protobuf
- ${NANOPB_GIT}
+ DOWNLOAD_DIR ${PROJECT_BINARY_DIR}/downloads
+ URL https://github.com/nanopb/nanopb/archive/nanopb-0.3.8.tar.gz
+ URL_HASH SHA256=f192c7c7cc036be36babc303b7d2315d4f62e2fe4be28c172cfed4cfa0ed5f22
BUILD_IN_SOURCE ON
diff --git a/cmake/external/protobuf.cmake b/cmake/external/protobuf.cmake
index da5f11d..e1fdcbb 100644
--- a/cmake/external/protobuf.cmake
+++ b/cmake/external/protobuf.cmake
@@ -13,18 +13,14 @@
# limitations under the License.
include(ExternalProject)
-include(ExternalProjectFlags)
-
-ExternalProject_GitSource(
- PROTOBUF_GIT
- GIT_REPOSITORY "https://github.com/google/protobuf.git"
- GIT_TAG "v3.5.1.1"
-)
ExternalProject_Add(
protobuf
- ${PROTOBUF_GIT}
+ DOWNLOAD_DIR ${PROJECT_BINARY_DIR}/downloads
+ DOWNLOAD_NAME protobuf-v3.5.11.tar.gz
+ URL https://github.com/google/protobuf/archive/v3.5.1.1.tar.gz
+ URL_HASH SHA256=56b5d9e1ab2bf4f5736c4cfba9f4981fbc6976246721e7ded5602fbaee6d6869
PREFIX ${PROJECT_BINARY_DIR}/external/protobuf