xref: /aosp_15_r20/test/dittosuite/CMakeLists.txt (revision 6fa2df46f119dce7527f5beb2814eca0e6f886ac)
1cmake_minimum_required(VERSION 3.10)
2project(DittoSuite)
3
4set(CMAKE_CXX_STANDARD 17)
5set(CMAKE_CXX_STANDARD_REQUIRED True)
6
7set(CMAKE_CXX_FLAGS_DEBUG "-g -O0 -Wall -fprofile-arcs -ftest-coverage")
8set(CMAKE_C_FLAGS_DEBUG   "-g -O0 -Wall -fprofile-arcs -ftest-coverage")
9
10add_subdirectory(schema)
11
12include_directories(include)
13include_directories(${CMAKE_CURRENT_BINARY_DIR})
14include_directories(${CMAKE_BINARY_DIR}/schema)
15
16file(GLOB libditto_src
17	src/*.cpp
18)
19
20file(GLOB_RECURSE ditto_benchmarks
21	example/*.ditto
22)
23
24add_custom_command(
25	OUTPUT embedded_benchmarks.cpp
26	COMMAND ${PROJECT_SOURCE_DIR}/ditto2cpp.py
27		-o embedded_benchmarks.cpp
28		-s ${ditto_benchmarks}
29	DEPENDS ${ditto_benchmarks}
30	VERBATIM
31)
32
33add_library(libdittosuite STATIC ${libditto_src} embedded_benchmarks.cpp)
34
35target_link_libraries(libdittosuite
36	benchmark_proto
37	${Protobuf_LIBRARIES}
38	${Protobuf_PROTOC_LIBRARIES}
39	pthread
40)
41
42add_executable(dittobench dittobench.cpp)
43add_executable(dittotrace dittotrace.cpp)
44
45target_link_libraries(dittobench
46	libdittosuite
47)
48
49target_link_libraries(dittotrace
50	libdittosuite
51)
52
53add_subdirectory(test)
54