Repository: mesos Updated Branches: refs/heads/master 126e7327e -> 442295746
CMake: Added `ENABLE_LIBEVENT` to libprocess config scripts. Review: https://reviews.apache.org/r/38825 Project: http://git-wip-us.apache.org/repos/asf/mesos/repo Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/6523d92a Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/6523d92a Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/6523d92a Branch: refs/heads/master Commit: 6523d92adc7a3b745d3a723a1bfe8dc7dd07c8d1 Parents: 126e732 Author: Alex Clemmer <[email protected]> Authored: Sat Oct 3 16:51:13 2015 -0700 Committer: Joris Van Remoortere <[email protected]> Committed: Sat Oct 3 17:11:23 2015 -0700 ---------------------------------------------------------------------- 3rdparty/libprocess/3rdparty/CMakeLists.txt | 6 ++-- .../cmake/Process3rdpartyConfigure.cmake | 15 ++++++---- .../libprocess/cmake/ProcessConfigure.cmake | 29 +++++++++++++++++--- 3 files changed, 39 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mesos/blob/6523d92a/3rdparty/libprocess/3rdparty/CMakeLists.txt ---------------------------------------------------------------------- diff --git a/3rdparty/libprocess/3rdparty/CMakeLists.txt b/3rdparty/libprocess/3rdparty/CMakeLists.txt index 31d77d5..f0de224 100644 --- a/3rdparty/libprocess/3rdparty/CMakeLists.txt +++ b/3rdparty/libprocess/3rdparty/CMakeLists.txt @@ -104,9 +104,11 @@ if (NOT WIN32) # MESOS-3250)" comment above for explanation. set(LIBEV_CONFIG_CMD ${LIBEV_ROOT}/configure --prefix=${LIBEV_ROOT}-lib) set(LIBEV_BUILD_CMD make) - set(LIBEV_INSTALL_CMD mkdir -p ${LIBEV_ROOT}-lib/lib && cp -r ${LIBEV_ROOT}-build/.libs/. ${LIBEV_ROOT}-lib/lib) + set(LIBEV_INSTALL_CMD mkdir -p ${LIBEV_LIB_ROOT} && cp -r ${LIBEV_ROOT}-build/.libs/. ${LIBEV_LIB_ROOT}) # Patch libev to keep it from reaping child processes. PATCH_CMD(${PROCESS_3RD_SRC}/libev-4.15.patch LIBEV_PATCH_CMD) + + set(LIBEVENT_INSTALL_CMD mkdir -p ${LIBEVENT_LIB_ROOT} && cp -r ${LIBEVENT_ROOT}-build/lib/. ${LIBEVENT_LIB_DIR} && cp -r ${LIBEVENT_ROOT}-build/include/. ${LIBEVENT_INCLUDE_DIR} && cp -r ${LIBEVENT_ROOT}/include/. ${LIBEVENT_INCLUDE_DIR}) elseif (WIN32) set(GLOG_PATCH_CMD ${CMAKE_NOOP}) set(GLOG_CONFIG_CMD ${CMAKE_NOOP}) @@ -245,7 +247,7 @@ endif (NOT WIN32) if (NOT WIN32) set(PROTOBUF_PATCH_CMD ${CMAKE_NOOP}) - set(PROTOBUF_CONFIG_CMD ${PROTOBUF_ROOT}/src/../configure --prefix=${PROTOBUF_LIB}) + set(PROTOBUF_CONFIG_CMD ${PROTOBUF_ROOT}/src/../configure --prefix=${PROTOBUF_LIB_ROOT}) set(PROTOBUF_BUILD_CMD make) set(PROTOBUF_INSTALL_CMD make install) elseif (WIN32) http://git-wip-us.apache.org/repos/asf/mesos/blob/6523d92a/3rdparty/libprocess/cmake/Process3rdpartyConfigure.cmake ---------------------------------------------------------------------- diff --git a/3rdparty/libprocess/cmake/Process3rdpartyConfigure.cmake b/3rdparty/libprocess/cmake/Process3rdpartyConfigure.cmake index 9c369e2..ee1c74d 100644 --- a/3rdparty/libprocess/cmake/Process3rdpartyConfigure.cmake +++ b/3rdparty/libprocess/cmake/Process3rdpartyConfigure.cmake @@ -42,8 +42,10 @@ elseif (WIN32) endif (NOT WIN32) # Intermediate convenience variables for oddly-structured directories. -set(GLOG_LIB_ROOT ${GLOG_ROOT}-lib/lib) -set(PROTOBUF_LIB ${PROTOBUF_ROOT}-lib/lib) +set(GLOG_LIB_ROOT ${GLOG_ROOT}-lib/lib) +set(PROTOBUF_LIB_ROOT ${PROTOBUF_ROOT}-lib/lib) +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 ${PROCESS_3RD_SRC}/../include) @@ -53,8 +55,9 @@ set(BOOST_INCLUDE_DIR ${BOOST_ROOT}) set(GPERFTOOLS_INCLUDE_DIR ${GPERFTOOLS}/src) set(HTTP_PARSER_INCLUDE_DIR ${HTTP_PARSER_ROOT}) set(LIBEV_INCLUDE_DIR ${LIBEV_ROOT}) +set(LIBEVENT_INCLUDE_DIR ${LIBEVENT_LIB_ROOT}/include) set(PICOJSON_INCLUDE_DIR ${PICOJSON_ROOT}) -set(PROTOBUF_INCLUDE_DIR ${PROTOBUF_LIB}/include) +set(PROTOBUF_INCLUDE_DIR ${PROTOBUF_LIB_ROOT}/include) if (WIN32) set(CURL_INCLUDE_DIR ${CURL_ROOT}/include) @@ -66,6 +69,7 @@ endif (WIN32) # Convenience variables for `lib` directories of built third-party dependencies. set(HTTP_PARSER_LIB_DIR ${HTTP_PARSER_ROOT}-build) set(LIBEV_LIB_DIR ${LIBEV_ROOT}-build/.libs) +set(LIBEVENT_LIB_DIR ${LIBEVENT_LIB_ROOT}/lib) if (WIN32) set(CURL_LIB_DIR ${CURL_ROOT}/lib) @@ -73,13 +77,14 @@ if (WIN32) set(PROTOBUF_LIB_DIR ${PROTOBUF_ROOT}/vsprojects/Debug) else (WIN32) set(GLOG_LIB_DIR ${GLOG_LIB_ROOT}/lib) - set(PROTOBUF_LIB_DIR ${PROTOBUF_LIB}/lib) + set(PROTOBUF_LIB_DIR ${PROTOBUF_LIB_ROOT}/lib) endif (WIN32) # Convenience variables for "lflags", the symbols we pass to CMake to generate # things like `-L/path/to/glog` or `-lglog`. set(HTTP_PARSER_LFLAG http_parser) set(LIBEV_LFLAG ev) +set(LIBEVENT_LFLAG event) if (WIN32) # Necessary because the lib names for (e.g.) glog are generated incorrectly @@ -96,7 +101,7 @@ else (WIN32) endif (WIN32) # Convenience variable for `protoc`, the Protobuf compiler. -set(PROTOC ${PROTOBUF_LIB}/bin/protoc) +set(PROTOC ${PROTOBUF_LIB_ROOT}/bin/protoc) # Configure the process library, the last of our third-party libraries. ####################################################################### http://git-wip-us.apache.org/repos/asf/mesos/blob/6523d92a/3rdparty/libprocess/cmake/ProcessConfigure.cmake ---------------------------------------------------------------------- diff --git a/3rdparty/libprocess/cmake/ProcessConfigure.cmake b/3rdparty/libprocess/cmake/ProcessConfigure.cmake index 076c883..60108ff 100755 --- a/3rdparty/libprocess/cmake/ProcessConfigure.cmake +++ b/3rdparty/libprocess/cmake/ProcessConfigure.cmake @@ -53,10 +53,15 @@ set(PROCESS_DEPENDENCIES ${GLOG_TARGET} ${PICOJSON_TARGET} ${HTTP_PARSER_TARGET} - ${LIBEV_TARGET} ${PROTOBUF_TARGET} ) +if (NOT ENABLE_LIBEVENT) + set(PROCESS_DEPENDENCIES ${PROCESS_DEPENDENCIES} ${LIBEV_TARGET}) +elseif (ENABLE_LIBEVENT) + set(PROCESS_DEPENDENCIES ${PROCESS_DEPENDENCIES} ${LIBEVENT_TARGET}) +endif (NOT ENABLE_LIBEVENT) + # Define third-party include directories. Tells compiler toolchain where to get # headers for our third party libs (e.g., -I/path/to/glog on Linux). ############################################################################### @@ -65,12 +70,17 @@ set(PROCESS_INCLUDE_DIRS ${PROCESS_INCLUDE_DIR} ${STOUT_INCLUDE_DIR} ${BOOST_INCLUDE_DIR} - ${LIBEV_INCLUDE_DIR} ${PICOJSON_INCLUDE_DIR} ${GLOG_INCLUDE_DIR} ${HTTP_PARSER_INCLUDE_DIR} ) +if (NOT ENABLE_LIBEVENT) + set(PROCESS_INCLUDE_DIRS ${PROCESS_INCLUDE_DIRS} ${LIBEV_INCLUDE_DIR}) +elseif (ENABLE_LIBEVENT) + set(PROCESS_INCLUDE_DIRS ${PROCESS_INCLUDE_DIRS} ${LIBEVENT_INCLUDE_DIR}) +endif (NOT ENABLE_LIBEVENT) + if (HAS_GPERFTOOLS) set(PROCESS_INCLUDE_DIRS ${PROCESS_INCLUDE_DIRS} ${GPERFTOOLS_INCLUDE_DIR}) endif (HAS_GPERFTOOLS) @@ -82,10 +92,16 @@ endif (HAS_GPERFTOOLS) set(PROCESS_LIB_DIRS ${PROCESS_LIB_DIRS} ${GLOG_LIB_DIR} - ${LIBEV_LIB_DIR} ${HTTP_PARSER_LIB_DIR} ) +if (NOT ENABLE_LIBEVENT) + set(PROCESS_LIB_DIRS ${PROCESS_LIB_DIRS} ${LIBEV_LIB_DIR}) +elseif (ENABLE_LIBEVENT) + set(PROCESS_LIB_DIRS ${PROCESS_LIB_DIRS} ${LIBEVENT_LIB_DIR}) +endif (NOT ENABLE_LIBEVENT) + + # Define third-party libs. Used to generate flags that the linker uses to # include our third-party libs (e.g., -lglog on Linux). ######################################################################### @@ -95,11 +111,16 @@ set(PROCESS_LIBS ${PROCESS_LIBS} ${PROCESS_TARGET} ${GLOG_LFLAG} - ${LIBEV_LFLAG} ${HTTP_PARSER_LFLAG} ${CMAKE_THREAD_LIBS_INIT} ) +if (NOT ENABLE_LIBEVENT) + set(PROCESS_LIBS ${PROCESS_LIBS} ${LIBEV_LFLAG}) +elseif (ENABLE_LIBEVENT) + set(PROCESS_LIBS ${PROCESS_LIBS} ${LIBEVENT_LFLAG}) +endif (NOT ENABLE_LIBEVENT) + if (NOT WIN32) find_package(ZLIB REQUIRED)
