-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild_eloq_metrics.cmake
46 lines (36 loc) · 1.67 KB
/
build_eloq_metrics.cmake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
set(ELOQ_METRICS_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/eloq_metrics)
set(ELOQ_METRICS_SRC_DIR "${ELOQ_METRICS_ROOT_DIR}/src")
set(ELOQ_METRICS_INCLUDE_DIR "${ELOQ_METRICS_ROOT_DIR}/include")
option(ELOQ_METRICS_ENABLE_BENCHMARK "Whether enable google benchmark" OFF)
option(ELOQ_METRICS_WITH_GLOG "Whether use glog" ON)
option(ENABLE_ELOQ_METRICS_APP "Whether enable mono metrics app" OFF)
option(ELOQ_METRICS_WITH_ABSEIL "Whether enable abseil-cpp" ON)
message(STATUS "ELOQ_METRICS_ENABLE_BENCHMARK ${ELOQ_METRICS_ENABLE_BENCHMARK}")
message(STATUS "ELOQ_METRICS_WITH_GLOG ${ELOQ_METRICS_WITH_GLOG}")
message(STATUS "ENABLE_ELOQ_METRICS_APP ${ENABLE_ELOQ_METRICS_APP}")
message(STATUS "ELOQ_METRICS_ROOT_DIR ${ELOQ_METRICS_ROOT_DIR}")
if(ELOQ_METRICS_WITH_ABSEIL)
add_compile_definitions(ELOQ_METRICS_WITH_ABSEIL=1)
endif()
if(ELOQ_METRICS_WITH_GLOG)
add_compile_definitions(WITH_GLOG=1)
endif()
if(POLICY CMP0074)
cmake_policy(SET CMP0074 NEW)
endif()
if(POLICY CMP0054)
cmake_policy(SET CMP0054 NEW)
endif()
find_package(prometheus-cpp CONFIG REQUIRED)
set(ELOQ_METRICS_TARGET_SOURCE_LIST
${ELOQ_METRICS_INCLUDE_DIR}/metrics.h
${ELOQ_METRICS_INCLUDE_DIR}/meter.h
${ELOQ_METRICS_INCLUDE_DIR}/metrics_collector.h
${ELOQ_METRICS_INCLUDE_DIR}/prometheus_collector.h
${ELOQ_METRICS_INCLUDE_DIR}/metrics_manager.h
${ELOQ_METRICS_SRC_DIR}/metrics.cc
${ELOQ_METRICS_SRC_DIR}/prometheus_collector.cc
${ELOQ_METRICS_SRC_DIR}/metrics_manager.cc)
add_library(${METRICS_LIB} STATIC ${ELOQ_METRICS_TARGET_SOURCE_LIST})
target_include_directories(${METRICS_LIB} PUBLIC ${ELOQ_METRICS_INCLUDE_DIR})
target_link_libraries(${METRICS_LIB} PUBLIC prometheus-cpp::pull)