CMake: Added SHA256 hashes for 3rdparty downloads.

The `ExternalProject_Add` uses this hash to verify the tarballs
automatically. This removes the following warning:

    File will not be verified since no URL_HASH specified

Review: https://reviews.apache.org/r/59536/


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/17249803
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/17249803
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/17249803

Branch: refs/heads/master
Commit: 172498032918d131cbb18f40223900851301275b
Parents: 171ba94
Author: Andrew Schwartzmeyer <and...@schwartzmeyer.com>
Authored: Thu May 25 14:23:37 2017 -0700
Committer: Joseph Wu <josep...@apache.org>
Committed: Thu May 25 14:23:37 2017 -0700

----------------------------------------------------------------------
 3rdparty/CMakeLists.txt       | 17 ++++++++++++++++-
 3rdparty/cmake/Versions.cmake | 18 ++++++++++++++++++
 2 files changed, 34 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/17249803/3rdparty/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt
index 03f314f..d8658f6 100755
--- a/3rdparty/CMakeLists.txt
+++ b/3rdparty/CMakeLists.txt
@@ -159,6 +159,7 @@ ExternalProject_Add(
   BUILD_COMMAND     ${CMAKE_NOOP}
   INSTALL_COMMAND   ${CMAKE_NOOP}
   URL               ${BOOST_URL}
+  URL_HASH          ${BOOST_HASH}
   )
 
 ExternalProject_Add(
@@ -168,6 +169,7 @@ ExternalProject_Add(
   BUILD_COMMAND     ${CMAKE_NOOP}
   INSTALL_COMMAND   ${CMAKE_NOOP}
   URL               ${ELFIO_URL}
+  URL_HASH          ${ELFIO_HASH}
   )
 
 # The patch, configure, build, and install commands are stubbed out on Windows
@@ -183,7 +185,7 @@ ExternalProject_Add(
   BUILD_COMMAND     ${GLOG_BUILD_CMD}
   INSTALL_COMMAND   ${GLOG_INSTALL_CMD}
   URL               ${GLOG_URL}
-  DOWNLOAD_NAME     glog-${GLOG_VERSION}.tar.gz
+  URL_HASH          ${GLOG_HASH}
   )
 
 ExternalProject_Add(
@@ -193,6 +195,7 @@ ExternalProject_Add(
   BUILD_COMMAND     ${CMAKE_NOOP}
   INSTALL_COMMAND   ${CMAKE_NOOP}
   URL               ${PICOJSON_URL}
+  URL_HASH          ${PICOJSON_HASH}
   )
 
 ExternalProject_Add(
@@ -202,6 +205,7 @@ ExternalProject_Add(
   BUILD_COMMAND     ${CMAKE_NOOP}
   INSTALL_COMMAND   ${CMAKE_NOOP}
   URL               ${NVML_URL}
+  URL_HASH          ${NVML_HASH}
   )
 
 ExternalProject_Add(
@@ -211,6 +215,7 @@ ExternalProject_Add(
   PATCH_COMMAND     ${HTTP_PARSER_PATCH_CMD}
   INSTALL_COMMAND   ${CMAKE_NOOP}
   URL               ${HTTP_PARSER_URL}
+  URL_HASH          ${HTTP_PARSER_HASH}
   )
 
 if (NOT ENABLE_LIBEVENT)
@@ -222,6 +227,7 @@ if (NOT ENABLE_LIBEVENT)
     BUILD_COMMAND     ${LIBEV_BUILD_CMD}
     INSTALL_COMMAND   ${LIBEV_INSTALL_CMD}
     URL               ${LIBEV_URL}
+    URL_HASH          ${LIBEV_HASH}
     )
 elseif (ENABLE_LIBEVENT)
   ExternalProject_Add(
@@ -230,6 +236,7 @@ elseif (ENABLE_LIBEVENT)
     CMAKE_ARGS      ${LIBEVENT_CMAKE_ARGS}
     INSTALL_COMMAND ${LIBEVENT_INSTALL_CMD}
     URL             ${LIBEVENT_URL}
+    URL_HASH        ${LIBEVENT_HASH}
     )
 endif (NOT ENABLE_LIBEVENT)
 
@@ -240,6 +247,7 @@ if (WIN32)
     CMAKE_ARGS      -DBUILD_SHARED_LIBS=OFF
     INSTALL_COMMAND ${LIBAPR_INSTALL_CMD}
     URL             ${LIBAPR_URL}
+    URL_HASH        ${LIBAPR_HASH}
     )
 endif (WIN32)
 
@@ -257,6 +265,7 @@ if (WIN32)
     BUILD_COMMAND     msbuild /p:RuntimeLibrary=MT_StaticDebug 
lib/libcurl.vcxproj
     INSTALL_COMMAND   ${CMAKE_NOOP}
     URL               ${CURL_URL}
+    URL_HASH          ${CURL_HASH}
   )
 
   ExternalProject_Add(
@@ -266,6 +275,7 @@ if (WIN32)
     BUILD_COMMAND   ${GLOG_BUILD_CMD}
     INSTALL_COMMAND ${CMAKE_NOOP}
     URL             ${ZLIB_URL}
+    URL_HASH        ${ZLIB_HASH}
   )
 endif (WIN32)
 
@@ -324,6 +334,7 @@ ExternalProject_Add(
   BUILD_COMMAND     ${GOOGLETEST_BUILD_CMD}
   INSTALL_COMMAND   ${GOOGLETEST_INSTALL_CMD}
   URL               ${GOOGLETEST_URL}
+  URL_HASH          ${GOOGLETEST_HASH}
   )
 
 ExternalProject_Add(
@@ -335,6 +346,7 @@ ExternalProject_Add(
   BUILD_COMMAND     ${PROTOBUF_BUILD_CMD}
   INSTALL_COMMAND   ${PROTOBUF_INSTALL_CMD}
   URL               ${PROTOBUF_URL}
+  URL_HASH          ${PROTOBUF_HASH}
   )
 
 
@@ -384,6 +396,7 @@ if (NOT WIN32)
     BUILD_COMMAND     cd ${ZOOKEEPER_C_ROOT} && make
     INSTALL_COMMAND   cd ${ZOOKEEPER_C_ROOT} && make install
     URL               ${ZOOKEEPER_URL}
+    URL_HASH          ${ZOOKEEPER_HASH}
     )
 elseif (WIN32)
   ExternalProject_Add(
@@ -398,6 +411,7 @@ elseif (WIN32)
     CMAKE_ARGS        -DWANT_CPPUNIT=0
     INSTALL_COMMAND   ${CMAKE_NOOP}
     URL               ${ZOOKEEPER_URL}
+    URL_HASH          ${ZOOKEEPER_HASH}
     )
 endif (NOT WIN32)
 
@@ -417,5 +431,6 @@ if (NOT WIN32)
     BUILD_COMMAND     ${LEVELDB_BUILD_CMD}
     INSTALL_COMMAND   ${CMAKE_NOOP}
     URL               ${LEVELDB_URL}
+    URL_HASH          ${LEVELDB_HASH}
     )
 endif (NOT WIN32)

http://git-wip-us.apache.org/repos/asf/mesos/blob/17249803/3rdparty/cmake/Versions.cmake
----------------------------------------------------------------------
diff --git a/3rdparty/cmake/Versions.cmake b/3rdparty/cmake/Versions.cmake
index d3f572c..a7a1340 100644
--- a/3rdparty/cmake/Versions.cmake
+++ b/3rdparty/cmake/Versions.cmake
@@ -1,22 +1,37 @@
 set(BOOST_VERSION       "1.53.0")
+set(BOOST_HASH          
"SHA256=CED7CE2ED8D7D34815AC9DB1D18D28FCD386FFBB3DE6DA45303E1CF193717038")
 set(CURL_VERSION        "7.43.0")
+set(CURL_HASH           
"SHA256=1A084DA1EDBFC3BD632861358B26AF45BA91AAADFB15D6482DE55748B8DFC693")
 set(ELFIO_VERSION       "3.2")
+set(ELFIO_HASH          
"SHA256=964BE1D401F98FA7A1242BCF048DF32B7D56DBAAAE5D02834900499073AC2E95")
 set(GOOGLETEST_VERSION  "1.8.0")
+set(GOOGLETEST_HASH     
"SHA256=58A6F4277CA2BC8565222B3BBD58A177609E9C488E8A72649359BA51450DB7D8")
 set(HTTP_PARSER_VERSION "2.6.2")
+set(HTTP_PARSER_HASH    
"SHA256=80FFFC3B64EF6968CECDD4B299A96986007DFF4BD12AE6C58CBCB506959B90AD")
 set(LEVELDB_VERSION     "1.19")
+set(LEVELDB_HASH        
"SHA256=7D7A14AE825E66AABEB156C1C3FAE9F9A76D640EF6B40EDE74CC73DA937E5202")
 set(LIBAPR_VERSION      "1.5.2")
+set(LIBAPR_HASH         
"SHA256=C173DE748F85A76B5EA7E5C77F3D9F1EECC9C0A6AB91239973062122EA7DD597")
 set(LIBEV_VERSION       "4.22")
+set(LIBEV_HASH          
"SHA256=736079E8AC543C74D59AF73F9C52737B3BFEC9601F020BF25A87A4F4D0F01BD6")
 # TODO(hausdorff): (MESOS-3529) transition this back to a non-beta version.
 set(LIBEVENT_VERSION    "2.1.5-beta")
+set(LIBEVENT_HASH       
"SHA256=9A410E24921F59F0AB2009E5E31B3B20932E4AA5A1CBAC6A53190DC86DADE806")
 set(NVML_VERSION        "352.79")
+set(NVML_HASH           
"SHA256=D0B2CC1742CBD7CC73DA13BFA6BF2DA3D92B545E8388E642D41977F4EAD8D3D0")
 set(PICOJSON_VERSION    "1.3.0")
+set(PICOJSON_HASH       
"SHA256=056805CA2691798F5545935A14BB477F2E1D827C9FB862E6E449DBEA22801C7D")
 set(ZLIB_VERSION        "1.2.8")
+set(ZLIB_HASH           
"SHA256=36658CB768A54C1D4DEC43C3116C27ED893E88B02ECFCB44F2166F9C0B7F2A0D")
 
 # Platform-dependent versions.
 if (NOT WIN32)
   set(GLOG_VERSION      "0.3.3")
+  set(GLOG_HASH         
"SHA256=FBF90C2285BA0561DB7A40F8A4EEFB9AA963E7D399BD450363E959929FE849D0")
   set(PROTOBUF_VERSION  "2.6.1")
+  set(PROTOBUF_HASH     
"SHA256=DBBD7BDD2381633995404DE65A945FF1A7610B0DA14593051B4738C90C6DD164")
   set(ZOOKEEPER_VERSION "3.4.8")
+  set(ZOOKEEPER_HASH    
"SHA256=F10A0B51F45C4F64C1FE69EF713ABF9EB9571BC7385A82DA892E83BB6C965E90")
 else (NOT WIN32)
   # TODO(hausdorff): (MESOS-3394) Upgrade Windows to use glog v0.3.5 when they
   # release it, as that will contain fixes that will allow us to build glog on
@@ -24,13 +39,16 @@ else (NOT WIN32)
   # Windows builds at a commit hash in the glog history that has all the
   # functionality we want.
   set(GLOG_VERSION      "da816ea70")
+  set(GLOG_HASH         
"SHA256=15338EDBE643F3F9A769FBCA34C3AFDF48D8779D800E7F0878A9649A53339F96")
 
   # TODO(hausdorff): (MESOS-3453) this is a patched version of the protobuf
   # library that compiles on Windows. We need to send this as a PR back to the
   # protobuf project.
   set(PROTOBUF_VERSION  "3.0.0-beta-2")
+  set(PROTOBUF_HASH     
"SHA256=BE224D07CE87F12E362CFF3DF02851107BF92A4E4604349B1D7A4B1F0C3BFD86")
 
   # The latest release of ZK, 3.4.7, does not compile on Windows. Therefore, we
   # pick a recent commit that does until the next release stabilizes.
   set(ZOOKEEPER_VERSION "3.5.2-alpha")
+  set(ZOOKEEPER_HASH    
"SHA256=E4997EE78AAB27628876BCB7BA7FCE8369BA162B1F50D9270A0ED865D11B8310")
 endif (NOT WIN32)

Reply via email to