Skip to content

Commit

Permalink
cmake: Babeltrace detection supported
Browse files Browse the repository at this point in the history
Babeltrace defaults to ON, Findbabeltrace.cmake &
BABELTRACE variables in config-h.in.cmake added.

Signed-off-by: Ali Maredia <[email protected]>
  • Loading branch information
alimaredia committed Jan 5, 2016
1 parent 1aa7bc2 commit 3307770
Show file tree
Hide file tree
Showing 3 changed files with 79 additions and 0 deletions.
9 changes: 9 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
61 changes: 61 additions & 0 deletions cmake/modules/Findbabeltrace.cmake
Original file line number Diff line number Diff line change
@@ -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)
9 changes: 9 additions & 0 deletions src/include/config-h.in.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,15 @@
/* 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

Expand Down

0 comments on commit 3307770

Please sign in to comment.