]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake: Babeltrace detection supported
authorAli Maredia <amaredia@redhat.com>
Thu, 31 Dec 2015 04:34:30 +0000 (23:34 -0500)
committerAli Maredia <amaredia@redhat.com>
Tue, 5 Jan 2016 20:42:06 +0000 (15:42 -0500)
Babeltrace defaults to ON, Findbabeltrace.cmake &
BABELTRACE variables in config-h.in.cmake added.

Signed-off-by: Ali Maredia <amaredia@redhat.com>
CMakeLists.txt
cmake/modules/Findbabeltrace.cmake [new file with mode: 0644]
src/include/config-h.in.cmake

index e37e03cba5f57ccec1224381fc7e9e71f75885b3..27de8806ee5ae2329844bde78216c04f9baa23a0 100644 (file)
@@ -253,6 +253,15 @@ if(${WITH_LTTNG})
   set(WITH_LTTNG ${LTTNG_FOUND})
 endif(${WITH_LTTNG})
 
+#option for Babeltrace
+option(HAVE_BABELTRACE "Babeltrace libraries are enabled" ON)
+if(${HAVE_BABELTRACE})
+  find_package(babeltrace REQUIRED)
+  set(WITH_BABELTRACE ${BABELTRACE_FOUND})
+  set(HAVE_BABELTRACE_BABELTRACE_H ${BABELTRACE_FOUND})
+  set(HAVE_BABELTRACE_CTF_EVENTS_H ${BABELTRACE_FOUND})
+endif(${HAVE_BABELTRACE})
+
 # Now create a useable config.h
 configure_file(
   ${PROJECT_SOURCE_DIR}/src/include/config-h.in.cmake
diff --git a/cmake/modules/Findbabeltrace.cmake b/cmake/modules/Findbabeltrace.cmake
new file mode 100644 (file)
index 0000000..b72b625
--- /dev/null
@@ -0,0 +1,61 @@
+# - Find Babeltrace
+# This module accepts the following optional variables:
+#    BABELTRACE_PATH_HINT   = A hint on BABELTRACE install path.
+#
+# This module defines the following variables:
+#    BABELTRACE_FOUND       = Was Babeltrace found or not?
+#    BABELTRACE_EXECUTABLE  = The path to lttng command
+#    BABELTRACE_LIBRARIES   = The list of libraries to link to when using Babeltrace
+#    BABELTRACE_INCLUDE_DIR = The path to Babeltrace include directory
+#
+# On can set BABELTRACE_PATH_HINT before using find_package(Babeltrace) and the
+# module with use the PATH as a hint to find Babeltrace.
+#
+# The hint can be given on the command line too:
+#   cmake -DBABELTRACE_PATH_HINT=/DATA/ERIC/Babeltrace /path/to/source
+
+if(BABELTRACE_PATH_HINT)
+  message(STATUS "FindBabeltrace: using PATH HINT: ${BABELTRACE_PATH_HINT}")
+else()
+  set(BABELTRACE_PATH_HINT)
+endif()
+
+#One can add his/her own builtin PATH.
+#FILE(TO_CMAKE_PATH "/DATA/ERIC/Babeltrace" MYPATH)
+#list(APPEND BABELTRACE_PATH_HINT ${MYPATH})
+
+find_path(BABELTRACE_INCLUDE_DIR
+          NAMES babeltrace/babeltrace.h babeltrace/ctf/events.h
+          PATHS ${BABELTRACE_PATH_HINT}
+          PATH_SUFFIXES include
+          DOC "The Babeltrace include headers")
+
+find_path(BABELTRACE_LIBRARY_DIR
+          NAMES libbabeltrace.so
+          NAMES libbabeltrace-ctf.so
+          PATHS ${BABELTRACE_PATH_HINT}
+          PATH_SUFFIXES lib lib64
+          DOC "The Babeltrace libraries")
+
+find_library(BABELTRACE NAMES babeltrace babeltrace-ctf PATHS ${BABELTRACE_LIBRARY_DIR})
+
+set(BABELTRACE_LIBRARIES ${BABELTRACE})
+
+message(STATUS "Looking for Babeltrace...")
+set(BABELTRACE_NAMES "babeltrace;babeltrace-ctf")
+# FIND_PROGRAM twice using NO_DEFAULT_PATH on first shot
+find_program(BABELTRACE_EXECUTABLE
+  NAMES ${BABELTRACE_NAMES}
+  PATHS ${BABELTRACE_PATH_HINT}/bin /bin
+  NO_DEFAULT_PATH
+  DOC "The BABELTRACE command line tool")
+
+# handle the QUIETLY and REQUIRED arguments and set PRELUDE_FOUND to TRUE if
+# all listed variables are TRUE
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(BABELTRACE
+                                  REQUIRED_VARS BABELTRACE_INCLUDE_DIR BABELTRACE_LIBRARY_DIR)
+# VERSION FPHSA options not handled by CMake version < 2.8.2)
+#                                  VERSION_VAR)
+mark_as_advanced(BABELTRACE_INCLUDE_DIR)
+mark_as_advanced(BABELTRACE_LIBRARY_DIR)
index af68a4036891c9b770b43ea81021145d302a084d..c82e8dcc1d41c13146c1c0773b0e629c85b31fcc 100644 (file)
 /* Defined if LTTNG */
 #cmakedefine WITH_LTTNG 1
 
+/* Defined if Babeltrace */
+#cmakedefine WITH_BABELTRACE 1
+
+/* Define to 1 if you have the <babeltrace/babeltrace.h> header file. */
+#cmakedefine HAVE_BABELTRACE_BABELTRACE_H 1
+
+/* Define to 1 if you have the <babeltrace/ctf/events.h> header file. */
+#cmakedefine HAVE_BABELTRACE_CTF_EVENTS_H 1
+
 /* Defined if you have librocksdb enabled */
 #cmakedefine HAVE_LIBROCKSDB