CMake: Added support for libevent for Unix builds.

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


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

Branch: refs/heads/master
Commit: 2afe3b9f1a8dd9f4219388ffd2243b41a7cb85c5
Parents: 6523d92
Author: Alex Clemmer <[email protected]>
Authored: Sat Oct 3 16:51:26 2015 -0700
Committer: Joris Van Remoortere <[email protected]>
Committed: Sat Oct 3 17:12:42 2015 -0700

----------------------------------------------------------------------
 CMakeLists.txt                       | 9 ---------
 src/CMakeLists.txt                   | 9 +++++++++
 src/slave/cmake/SlaveConfigure.cmake | 7 +++++++
 3 files changed, 16 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/2afe3b9f/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c866f6d..beacdc2 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -44,15 +44,6 @@ option(
   )
 set(CMAKE_VERBOSE_MAKEFILE ${VERBOSE})
 
-# TODO(hausdorff): add the code to allow libevent on Unix builds.
-if ((NOT WIN32) AND ENABLE_LIBEVENT)
-  message(
-    FATAL_ERROR
-    "The Mesos CMake-based build system currently only supports libevent on "
-    "Windows builds."
-    )
-endif ((NOT WIN32) AND ENABLE_LIBEVENT)
-
 if (REBUNDLED AND ENABLE_LIBEVENT)
   message(
     WARNING

http://git-wip-us.apache.org/repos/asf/mesos/blob/2afe3b9f/src/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 891f951..f90101b 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -118,6 +118,11 @@ set(MESOS_SRC
 #########################################################################
 include_directories(${AGENT_INCLUDE_DIRS})
 
+# LINKING LIBRARIES BY DIRECTORY (might generate, e.g., -L/path/to/thing on
+# Linux).
+###########################################################################
+link_directories(${AGENT_LIB_DIRS})
+
 # THE MESOS LIBRARY (generates, e.g., libmesos.so, etc., on Linux).
 ###################################################################
 add_library(${MESOS_TARGET} ${MESOS_SRC})
@@ -127,3 +132,7 @@ set_target_properties(
   SOVERSION ${MESOS_PACKAGE_SOVERSION}
   )
 add_dependencies(${MESOS_TARGET} ${AGENT_DEPENDENCIES})
+
+# ADD LINKER FLAGS (generates, e.g., -lglog on Linux).
+######################################################
+target_link_libraries(${MESOS_TARGET} ${AGENT_LIBS})

http://git-wip-us.apache.org/repos/asf/mesos/blob/2afe3b9f/src/slave/cmake/SlaveConfigure.cmake
----------------------------------------------------------------------
diff --git a/src/slave/cmake/SlaveConfigure.cmake 
b/src/slave/cmake/SlaveConfigure.cmake
index 230e574..5817547 100644
--- a/src/slave/cmake/SlaveConfigure.cmake
+++ b/src/slave/cmake/SlaveConfigure.cmake
@@ -66,6 +66,13 @@ set(AGENT_LIB_DIRS
 # include our third-party libs (e.g., -lglog on Linux).
 #########################################################################
 set(AGENT_LIBS
+  ${AGENT_LIBS}
   ${PROCESS_LIBS}
   ${GLOG_LFLAG}
   )
+
+if (NOT ENABLE_LIBEVENT)
+  set(AGENT_LIBS ${AGENT_LIBS} ${LIBEV_LFLAG})
+elseif (ENABLE_LIBEVENT)
+  set(AGENT_LIBS ${AGENT_LIBS} ${LIBEVENT_LFLAG})
+endif (NOT ENABLE_LIBEVENT)

Reply via email to