You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by bm...@apache.org on 2017/07/20 01:28:49 UTC

[1/2] mesos git commit: Added concurrentqueue to CMake build.

Repository: mesos
Updated Branches:
  refs/heads/master 83718691d -> 52f829153


Added concurrentqueue to CMake build.

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


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

Branch: refs/heads/master
Commit: 696f9ec78ea3cf783f21fb5d1734dcb5736b646e
Parents: 8371869
Author: Andrew Schwartzmeyer <an...@schwartzmeyer.com>
Authored: Wed Jul 19 18:27:54 2017 -0700
Committer: Benjamin Mahler <bm...@apache.org>
Committed: Wed Jul 19 18:27:54 2017 -0700

----------------------------------------------------------------------
 3rdparty/CMakeLists.txt          | 25 +++++++++++-----
 3rdparty/cmake/Versions.cmake    | 54 ++++++++++++++++++-----------------
 cmake/CompilationConfigure.cmake |  5 ++++
 3 files changed, 51 insertions(+), 33 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/696f9ec7/3rdparty/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt
index b803742..f4feaf9 100755
--- a/3rdparty/CMakeLists.txt
+++ b/3rdparty/CMakeLists.txt
@@ -30,13 +30,14 @@ endif ()
 # Downloads, configures, and compiles the third-party libraries for the process
 # library (located in `3rdparty/`, i.e. not the `mesos-3rdparty` repository).
 ###############################################################################
-set(BOOST_URL       ${FETCH_URL}/boost-${BOOST_VERSION}.tar.gz)
-set(ELFIO_URL       ${FETCH_URL}/elfio-${ELFIO_VERSION}.tar.gz)
-set(GLOG_URL        ${FETCH_URL}/glog-${GLOG_VERSION}.tar.gz)
-set(HTTP_PARSER_URL ${FETCH_URL}/http-parser-${HTTP_PARSER_VERSION}.tar.gz)
-set(PICOJSON_URL    ${FETCH_URL}/picojson-${PICOJSON_VERSION}.tar.gz)
-set(NVML_URL        ${FETCH_URL}/nvml-${NVML_VERSION}.tar.gz)
-set(LIBEV_URL       ${FETCH_URL}/libev-${LIBEV_VERSION}.tar.gz)
+set(BOOST_URL           ${FETCH_URL}/boost-${BOOST_VERSION}.tar.gz)
+set(CONCURRENTQUEUE_URL ${FETCH_URL}/concurrentqueue-${CONCURRENTQUEUE_VERSION}.tar.gz)
+set(ELFIO_URL           ${FETCH_URL}/elfio-${ELFIO_VERSION}.tar.gz)
+set(GLOG_URL            ${FETCH_URL}/glog-${GLOG_VERSION}.tar.gz)
+set(HTTP_PARSER_URL     ${FETCH_URL}/http-parser-${HTTP_PARSER_VERSION}.tar.gz)
+set(PICOJSON_URL        ${FETCH_URL}/picojson-${PICOJSON_VERSION}.tar.gz)
+set(NVML_URL            ${FETCH_URL}/nvml-${NVML_VERSION}.tar.gz)
+set(LIBEV_URL           ${FETCH_URL}/libev-${LIBEV_VERSION}.tar.gz)
 
 # NOTE: libevent doesn't come rebundled, so this URL is always the same. But,
 # it's only downloaded if `ENABLE_LIBEVENT` is set.
@@ -183,6 +184,16 @@ ExternalProject_Add(
   )
 
 ExternalProject_Add(
+  ${CONCURRENTQUEUE_TARGET}
+  PREFIX            ${CONCURRENTQUEUE_CMAKE_ROOT}
+  CONFIGURE_COMMAND ${CMAKE_NOOP}
+  BUILD_COMMAND     ${CMAKE_NOOP}
+  INSTALL_COMMAND   ${CMAKE_NOOP}
+  URL               ${CONCURRENTQUEUE_URL}
+  URL_HASH          ${CONCURRENTQUEUE_HASH}
+  )
+
+ExternalProject_Add(
   ${ELFIO_TARGET}
   PREFIX            ${ELFIO_CMAKE_ROOT}
   CONFIGURE_COMMAND ${CMAKE_NOOP}

http://git-wip-us.apache.org/repos/asf/mesos/blob/696f9ec7/3rdparty/cmake/Versions.cmake
----------------------------------------------------------------------
diff --git a/3rdparty/cmake/Versions.cmake b/3rdparty/cmake/Versions.cmake
index 3c3b643..9586296 100644
--- a/3rdparty/cmake/Versions.cmake
+++ b/3rdparty/cmake/Versions.cmake
@@ -1,30 +1,32 @@
-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")
+set(BOOST_VERSION           "1.53.0")
+set(BOOST_HASH              "SHA256=CED7CE2ED8D7D34815AC9DB1D18D28FCD386FFBB3DE6DA45303E1CF193717038")
+set(CONCURRENTQUEUE_VERSION "1.0.0-beta")
+set(CONCURRENTQUEUE_HASH    "SHA256=D723E784E4D54F7519208BD795F2AA799A449B873DBB7A1251F288E04BE23465")
+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(PROTOBUF_VERSION    "3.3.0")
-set(PROTOBUF_HASH       "SHA256=E43F47C51C4A838F737EE2DA2F183F129EE388272622C403179D5AD28C555F39")
-set(ZLIB_VERSION        "1.2.8")
-set(ZLIB_HASH           "SHA256=36658CB768A54C1D4DEC43C3116C27ED893E88B02ECFCB44F2166F9C0B7F2A0D")
+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(PROTOBUF_VERSION        "3.3.0")
+set(PROTOBUF_HASH           "SHA256=E43F47C51C4A838F737EE2DA2F183F129EE388272622C403179D5AD28C555F39")
+set(ZLIB_VERSION            "1.2.8")
+set(ZLIB_HASH               "SHA256=36658CB768A54C1D4DEC43C3116C27ED893E88B02ECFCB44F2166F9C0B7F2A0D")
 
 # Platform-dependent versions.
 if (NOT WIN32)

http://git-wip-us.apache.org/repos/asf/mesos/blob/696f9ec7/cmake/CompilationConfigure.cmake
----------------------------------------------------------------------
diff --git a/cmake/CompilationConfigure.cmake b/cmake/CompilationConfigure.cmake
index 6fedcd2..847ae1a 100644
--- a/cmake/CompilationConfigure.cmake
+++ b/cmake/CompilationConfigure.cmake
@@ -79,6 +79,11 @@ option(
   FALSE)
 
 option(
+  ENABLE_LOCK_FREE_RUN_QUEUE
+  "Build libprocess with lock free run queue"
+  FALSE)
+
+option(
   HAS_AUTHENTICATION
   "Build Mesos against authentication libraries"
   TRUE)


[2/2] mesos git commit: Added concurrentqueue to libprocess' CMake build.

Posted by bm...@apache.org.
Added concurrentqueue to libprocess' CMake build.

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


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

Branch: refs/heads/master
Commit: 52f8291537b444ad0dcbf220a45aedb7dddbf04c
Parents: 696f9ec
Author: Andrew Schwartzmeyer <an...@schwartzmeyer.com>
Authored: Wed Jul 19 18:28:11 2017 -0700
Committer: Benjamin Mahler <bm...@apache.org>
Committed: Wed Jul 19 18:28:11 2017 -0700

----------------------------------------------------------------------
 .../cmake/Process3rdpartyConfigure.cmake        | 42 ++++++++++----------
 .../libprocess/cmake/ProcessConfigure.cmake     |  6 +--
 3rdparty/libprocess/src/CMakeLists.txt          |  4 ++
 3 files changed, 28 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/52f82915/3rdparty/libprocess/cmake/Process3rdpartyConfigure.cmake
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/cmake/Process3rdpartyConfigure.cmake b/3rdparty/libprocess/cmake/Process3rdpartyConfigure.cmake
index cc0cde7..3e621f9 100644
--- a/3rdparty/libprocess/cmake/Process3rdpartyConfigure.cmake
+++ b/3rdparty/libprocess/cmake/Process3rdpartyConfigure.cmake
@@ -18,16 +18,17 @@
 ##################################################
 set(STOUT ${MESOS_3RDPARTY_SRC}/stout)
 
-EXTERNAL("boost"       ${BOOST_VERSION}       "${MESOS_3RDPARTY_BIN}")
-EXTERNAL("glog"        ${GLOG_VERSION}        "${MESOS_3RDPARTY_BIN}")
-EXTERNAL("elfio"       ${ELFIO_VERSION}       "${MESOS_3RDPARTY_BIN}")
-EXTERNAL("picojson"    ${PICOJSON_VERSION}    "${MESOS_3RDPARTY_BIN}")
-EXTERNAL("http_parser" ${HTTP_PARSER_VERSION} "${MESOS_3RDPARTY_BIN}")
-EXTERNAL("libev"       ${LIBEV_VERSION}       "${MESOS_3RDPARTY_BIN}")
-EXTERNAL("libevent"    ${LIBEVENT_VERSION}    "${MESOS_3RDPARTY_BIN}")
-EXTERNAL("libapr"      ${LIBAPR_VERSION}      "${MESOS_3RDPARTY_BIN}")
-EXTERNAL("nvml"        ${NVML_VERSION}        "${MESOS_3RDPARTY_BIN}")
-EXTERNAL("protobuf"    ${PROTOBUF_VERSION}    "${MESOS_3RDPARTY_BIN}")
+EXTERNAL("boost"           ${BOOST_VERSION}           "${MESOS_3RDPARTY_BIN}")
+EXTERNAL("concurrentqueue" ${CONCURRENTQUEUE_VERSION} "${MESOS_3RDPARTY_BIN}")
+EXTERNAL("glog"            ${GLOG_VERSION}            "${MESOS_3RDPARTY_BIN}")
+EXTERNAL("elfio"           ${ELFIO_VERSION}           "${MESOS_3RDPARTY_BIN}")
+EXTERNAL("picojson"        ${PICOJSON_VERSION}        "${MESOS_3RDPARTY_BIN}")
+EXTERNAL("http_parser"     ${HTTP_PARSER_VERSION}     "${MESOS_3RDPARTY_BIN}")
+EXTERNAL("libev"           ${LIBEV_VERSION}           "${MESOS_3RDPARTY_BIN}")
+EXTERNAL("libevent"        ${LIBEVENT_VERSION}        "${MESOS_3RDPARTY_BIN}")
+EXTERNAL("libapr"          ${LIBAPR_VERSION}          "${MESOS_3RDPARTY_BIN}")
+EXTERNAL("nvml"            ${NVML_VERSION}            "${MESOS_3RDPARTY_BIN}")
+EXTERNAL("protobuf"        ${PROTOBUF_VERSION}        "${MESOS_3RDPARTY_BIN}")
 
 if (WIN32)
   # NOTE: We expect cURL and zlib exist on Unix (usually pulled in with a
@@ -44,16 +45,17 @@ set(LIBEV_LIB_ROOT    ${LIBEV_ROOT}-lib/lib)
 set(LIBEVENT_LIB_ROOT ${LIBEVENT_ROOT}-lib/lib)
 
 # Convenience variables for include directories of third-party dependencies.
-set(PROCESS_INCLUDE_DIR     ${MESOS_3RDPARTY_SRC}/libprocess/include)
-set(STOUT_INCLUDE_DIR       ${STOUT}/include)
-
-set(BOOST_INCLUDE_DIR       ${BOOST_ROOT})
-set(ELFIO_INCLUDE_DIR       ${ELFIO_ROOT})
-set(GPERFTOOLS_INCLUDE_DIR  ${GPERFTOOLS}/src)
-set(HTTP_PARSER_INCLUDE_DIR ${HTTP_PARSER_ROOT})
-set(LIBEV_INCLUDE_DIR       ${LIBEV_ROOT})
-set(NVML_INCLUDE_DIR        ${NVML_ROOT})
-set(PICOJSON_INCLUDE_DIR    ${PICOJSON_ROOT})
+set(PROCESS_INCLUDE_DIR ${MESOS_3RDPARTY_SRC}/libprocess/include)
+set(STOUT_INCLUDE_DIR   ${STOUT}/include)
+
+set(BOOST_INCLUDE_DIR           ${BOOST_ROOT})
+set(CONCURRENTQUEUE_INCLUDE_DIR ${CONCURRENTQUEUE_ROOT})
+set(ELFIO_INCLUDE_DIR           ${ELFIO_ROOT})
+set(GPERFTOOLS_INCLUDE_DIR      ${GPERFTOOLS}/src)
+set(HTTP_PARSER_INCLUDE_DIR     ${HTTP_PARSER_ROOT})
+set(LIBEV_INCLUDE_DIR           ${LIBEV_ROOT})
+set(NVML_INCLUDE_DIR            ${NVML_ROOT})
+set(PICOJSON_INCLUDE_DIR        ${PICOJSON_ROOT})
 
 if (WIN32)
   set(APR_INCLUDE_DIR      ${LIBAPR_ROOT}/include ${LIBAPR_ROOT}-build)

http://git-wip-us.apache.org/repos/asf/mesos/blob/52f82915/3rdparty/libprocess/cmake/ProcessConfigure.cmake
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/cmake/ProcessConfigure.cmake b/3rdparty/libprocess/cmake/ProcessConfigure.cmake
index f9e70bd..75af774 100755
--- a/3rdparty/libprocess/cmake/ProcessConfigure.cmake
+++ b/3rdparty/libprocess/cmake/ProcessConfigure.cmake
@@ -40,10 +40,6 @@
 # party libraries, and where in the directory tree you need to look to get the
 # actual libraries.
 
-if (ENABLE_LOCK_FREE_RUN_QUEUE)
-  add_definitions(-DLOCK_FREE_RUN_QUEUE)
-endif ()
-
 if (ENABLE_SSL)
   find_package(OpenSSL REQUIRED)
 endif ()
@@ -76,6 +72,7 @@ set(PROCESS_DEPENDENCIES
   ${PROCESS_DEPENDENCIES}
   ${STOUT_DEPENDENCIES}
   ${HTTP_PARSER_TARGET}
+  ${CONCURRENTQUEUE_TARGET}
   )
 
 if (NOT ENABLE_LIBEVENT)
@@ -104,6 +101,7 @@ set(PROCESS_3RDPARTY_INCLUDE_DIRS
   ${STOUT_3RDPARTY_INCLUDE_DIRS}
   ${STOUT_INCLUDE_DIRS}
   ${HTTP_PARSER_INCLUDE_DIR}
+  ${CONCURRENTQUEUE_INCLUDE_DIR}
   )
 
 if (NOT ENABLE_LIBEVENT)

http://git-wip-us.apache.org/repos/asf/mesos/blob/52f82915/3rdparty/libprocess/src/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/src/CMakeLists.txt b/3rdparty/libprocess/src/CMakeLists.txt
index 03959ae..f97291b 100644
--- a/3rdparty/libprocess/src/CMakeLists.txt
+++ b/3rdparty/libprocess/src/CMakeLists.txt
@@ -140,3 +140,7 @@ add_dependencies(${PROCESS_TARGET} ${PROCESS_DEPENDENCIES})
 # ADD LINKER FLAGS (generates, e.g., -lglog on Linux).
 ######################################################
 target_link_libraries(${PROCESS_TARGET} ${PROCESS_LIBS})
+
+if (ENABLE_LOCK_FREE_RUN_QUEUE)
+  target_compile_definitions(${PROCESS_TARGET} PRIVATE LOCK_FREE_RUN_QUEUE)
+endif ()