• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1cmake_minimum_required(VERSION 3.4.1)
2
3message( STATUS "A CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}")
4
5set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Werror" )
6set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D _LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS -Os -fPIC" )
7set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti" )
8set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGOOGLE_PROTOBUF_NO_RTTI -DHAVE_PTHREAD")
9
10set(ANDROID_GTEST_DIR "../../../external/googletest")
11add_subdirectory("${ANDROID_GTEST_DIR}/googletest"
12  googletest-build
13)
14
15include("../../src/protobuf/protobuf.cmake")
16
17# Save the generation dir as it gets overwritten when we add_subdirectory tuningfork
18set(PGENS_DIR "${PROTO_GENS_DIR}")
19
20protobuf_generate_full_cpp( ${CMAKE_CURRENT_SOURCE_DIR}/proto
21  proto/tuningfork.proto
22  proto/tuningfork_clearcut_log.proto
23  proto/dev_tuningfork.proto
24)
25
26message( STATUS "B CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}")
27add_subdirectory("../../src/tuningfork"
28  tuningfork-build
29)
30
31include_directories(
32  "${ANDROID_GTEST_DIR}/googletest/include"
33  ../../src
34  ../../src/common
35  ../../include
36  ../../../external/nanopb-c
37  ${PGENS_DIR}
38  ${PROTOBUF_SRC_DIR}
39  ${PROTOBUF_SRC_DIR}/..
40)
41
42add_executable(tuningfork_test
43  main.cpp
44  histogram_test.cpp
45  tuningfork_test.cpp
46  annotation_test.cpp
47  ${PGENS_DIR}/full/dev_tuningfork.pb.cc
48  ${PGENS_DIR}/full/tuningfork.pb.cc
49  ${PGENS_DIR}/full/tuningfork_clearcut_log.pb.cc
50)
51add_library( protobuf-static
52  STATIC ${PROTOBUF_LITE_SRCS} ${PROTOBUF_SRCS}
53)
54target_compile_options(protobuf-static PUBLIC "-Wno-tautological-constant-compare" "-Wno-enum-compare-switch")
55
56target_link_libraries(tuningfork_test
57  gtest
58  tuningfork_static
59  protobuf-static
60  log
61)
62