cmake_minimum_required(VERSION 3.4.1)
message( STATUS "A CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}")
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Werror" )
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D _LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS -Os -fPIC" )
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti" )
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGOOGLE_PROTOBUF_NO_RTTI -DHAVE_PTHREAD")
set(ANDROID_GTEST_DIR "../../../external/googletest")
add_subdirectory("${ANDROID_GTEST_DIR}/googletest"
googletest-build
)
include("../../src/protobuf/protobuf.cmake")
# Save the generation dir as it gets overwritten when we add_subdirectory tuningfork
set(PGENS_DIR "${PROTO_GENS_DIR}")
protobuf_generate_full_cpp( ${CMAKE_CURRENT_SOURCE_DIR}/proto
proto/tuningfork.proto
proto/tuningfork_clearcut_log.proto
proto/dev_tuningfork.proto
)
message( STATUS "B CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}")
add_subdirectory("../../src/tuningfork"
tuningfork-build
)
include_directories(
"${ANDROID_GTEST_DIR}/googletest/include"
../../src
../../src/common
../../include
../../../external/nanopb-c
${PGENS_DIR}
${PROTOBUF_SRC_DIR}
${PROTOBUF_SRC_DIR}/..
)
add_executable(tuningfork_test
main.cpp
histogram_test.cpp
tuningfork_test.cpp
annotation_test.cpp
${PGENS_DIR}/full/dev_tuningfork.pb.cc
${PGENS_DIR}/full/tuningfork.pb.cc
${PGENS_DIR}/full/tuningfork_clearcut_log.pb.cc
)
add_library( protobuf-static
STATIC ${PROTOBUF_LITE_SRCS} ${PROTOBUF_SRCS}
)
target_compile_options(protobuf-static PUBLIC "-Wno-tautological-constant-compare" "-Wno-enum-compare-switch")
target_link_libraries(tuningfork_test
gtest
tuningfork_static
protobuf-static
log
)