@@ -38,30 +38,71 @@ For more information, please refer to <https://unlicense.org> ]]
38
38
39
39
set (PROCESSOR_AFFINITY TRUE )
40
40
41
- set (SOURCES "baseline.cpp" "predict_1x1x0.cpp" "predict_1x1x1.cpp"
42
- "update_1x1x0.cpp" "update_1x1x1.cpp" )
41
+ FetchContent_Declare(
42
+ google_benchmark
43
+ GIT_REPOSITORY "https://github.com/google/benchmark.git"
44
+ GIT_TAG "main"
45
+ FIND_PACKAGE_ARGS NAMES benchmark)
46
+
47
+ FetchContent_Declare(
48
+ google_test
49
+ GIT_REPOSITORY "https://github.com/google/googletest.git"
50
+ GIT_TAG "main"
51
+ FIND_PACKAGE_ARGS NAMES GTest)
52
+
53
+ FetchContent_MakeAvailable(google_test google_benchmark)
54
+
55
+ foreach (BENCHMARK "baseline.cpp" "predict_1x1x0.cpp" "predict_1x1x1.cpp"
56
+ "update_1x1x0.cpp" "update_1x1x1.cpp" )
57
+ get_filename_component (NAME ${BENCHMARK} NAME_WE )
58
+ add_executable (kalman_benchmark_${NAME} _driver ${BENCHMARK} )
59
+ target_include_directories (kalman_benchmark_${NAME} _driver PRIVATE "."
60
+ "include" )
61
+ target_link_libraries (
62
+ kalman_benchmark_${NAME} _driver PRIVATE benchmark::benchmark
63
+ benchmark::benchmark_main kalman)
64
+ add_test (kalman_benchmark_${NAME} kalman_benchmark_${NAME} _driver
65
+ "--benchmark_out=${NAME} .json" )
66
+ endforeach ()
67
+
68
+ FetchContent_Declare(
69
+ eigen
70
+ GIT_REPOSITORY "https://gitlab.com/libeigen/eigen.git"
71
+ FIND_PACKAGE_ARGS NAMES Eigen3)
72
+
73
+ FetchContent_MakeAvailable(eigen)
43
74
44
75
foreach (STATE_SIZE RANGE 1 2)
45
76
foreach (OUTPUT_SIZE RANGE 1 2)
46
77
configure_file (eigen_update_xx0.cpp
47
78
eigen_update_${STATE_SIZE} x${OUTPUT_SIZE} x0.cpp)
48
- list (APPEND SOURCES eigen_update_${STATE_SIZE} x${OUTPUT_SIZE} x0.cpp)
79
+ get_filename_component (NAME eigen_update_${STATE_SIZE} x${OUTPUT_SIZE} x0.cpp
80
+ NAME_WE )
81
+ add_executable (kalman_benchmark_${NAME} _driver
82
+ eigen_update_${STATE_SIZE} x${OUTPUT_SIZE} x0.cpp)
83
+ target_include_directories (kalman_benchmark_${NAME} _driver
84
+ PRIVATE "." "include" )
85
+ target_link_libraries (
86
+ kalman_benchmark_${NAME} _driver
87
+ PRIVATE benchmark::benchmark benchmark::benchmark_main Eigen3::Eigen
88
+ kalman)
89
+ add_test (kalman_benchmark_${NAME} kalman_benchmark_${NAME} _driver
90
+ "--benchmark_out=${NAME} .json" )
49
91
endforeach ()
50
92
foreach (INPUT_SIZE RANGE 1 2)
51
93
configure_file (eigen_predict_x1x.cpp
52
94
eigen_predict_${STATE_SIZE} x1x${INPUT_SIZE} .cpp)
53
- list (APPEND SOURCES eigen_predict_${STATE_SIZE} x1x${INPUT_SIZE} .cpp)
95
+ get_filename_component (NAME eigen_predict_${STATE_SIZE} x1x${INPUT_SIZE} .cpp
96
+ NAME_WE )
97
+ add_executable (kalman_benchmark_${NAME} _driver
98
+ eigen_predict_${STATE_SIZE} x1x${INPUT_SIZE} .cpp)
99
+ target_include_directories (kalman_benchmark_${NAME} _driver
100
+ PRIVATE "." "include" )
101
+ target_link_libraries (
102
+ kalman_benchmark_${NAME} _driver
103
+ PRIVATE benchmark::benchmark benchmark::benchmark_main Eigen3::Eigen
104
+ kalman)
105
+ add_test (kalman_benchmark_${NAME} kalman_benchmark_${NAME} _driver
106
+ "--benchmark_out=${NAME} .json" )
54
107
endforeach ()
55
108
endforeach ()
56
-
57
- foreach (BENCHMARK ${SOURCES} )
58
- get_filename_component (NAME ${BENCHMARK} NAME_WE )
59
- add_executable (kalman_benchmark_${NAME} _driver ${BENCHMARK} )
60
- target_include_directories (kalman_benchmark_${NAME} _driver PRIVATE "."
61
- "include" )
62
- target_link_libraries (
63
- kalman_benchmark_${NAME} _driver
64
- PRIVATE benchmark::benchmark benchmark::benchmark_main Eigen3::Eigen kalman)
65
- add_test (kalman_benchmark_${NAME} kalman_benchmark_${NAME} _driver
66
- "--benchmark_out=${NAME} .json" )
67
- endforeach ()
0 commit comments