CodeCompass

Форк
0
/
FindThrift.cmake 
50 строк · 1.6 Кб
1
# - Try to find LibThrift
2
#  LIBTHRIFT_FOUND - System has LibThrift
3
#  LIBTHRIFT_INCLUDE_DIRS - The LibThrift include directories
4
#  LIBTHRIFT_LIBRARIES - The libraries needed to use LibThrift
5
#  LIBTHRIFT_DEFINITIONS - Compiler switches required for using LibThrift
6

7
find_package(PkgConfig QUIET)
8
pkg_check_modules(PC_LIBTHRIFT QUIET "libthrift")
9
set(LIBTHRIFT_DEFINITIONS ${PC_LIBTHRIFT_CFLAGS_OTHER})
10

11
find_path(libthrift_INCLUDE_DIR
12
  NAMES thrift/Thrift.h
13
  HINTS ${PC_LIBTHRIFT_INCLUDE_DIR})
14

15
find_library(libthrift_LIBRARY
16
  NAMES thrift libthrift
17
  HINTS
18
    ${THIRFT_LIBRARY_PATH}
19
    ${PC_LIBTHIRFT_LIBRARY_DIRS})
20

21
find_program(thrift_BIN
22
  NAMES thrift
23
  HINTS
24
    ${libthrift_INCLUDE_DIR}/../bin)
25

26
mark_as_advanced(libthrift_INCLUDE_DIR libthrift_LIBRARY thrift_BIN)
27

28
set(THRIFT_LIBTHRIFT_INCLUDE_DIRS ${libthrift_INCLUDE_DIR}
29
  CACHE STRING "Thrift libthrift include dirs")
30
set(THRIFT_LIBTHRIFT_LIBRARIES ${libthrift_LIBRARY}
31
  CACHE STRING "Thrift libthrift library")
32
set(THRIFT_EXECUTABLE ${thrift_BIN}
33
  CACHE STRING "Thrift executable")
34

35
if(THRIFT_LIBTHRIFT_INCLUDE_DIRS AND THRIFT_LIBTHRIFT_LIBRARIES)
36
  set(THRIFT_LIBTHRIFT_FOUND TRUE)
37
endif()
38

39
if(Thrift_FIND_REQUIRED AND
40
    (NOT THRIFT_LIBTHRIFT_FOUND OR NOT THRIFT_EXECUTABLE))
41
  message(FATAL_ERROR "Couldn't find Thrift.")
42
endif()
43

44
set(THRIFT_INCLUDE_DIRS ${THRIFT_LIBTHRIFT_INCLUDE_DIRS})
45
set(THRIFT_LIBRARIES ${THRIFT_LIBTHRIFT_LIBRARIES})
46

47
execute_process(COMMAND ${THRIFT_EXECUTABLE} --version
48
  OUTPUT_VARIABLE Thrift_VERSION
49
  OUTPUT_STRIP_TRAILING_WHITESPACE)
50
message(STATUS "Found ${Thrift_VERSION}: ${THRIFT_EXECUTABLE}")
51

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.