@@ -38,12 +38,6 @@ For more information, please refer to <https://unlicense.org> ]]
38
38
39
39
include (FetchContent)
40
40
41
- FetchContent_Declare(
42
- eigen
43
- GIT_REPOSITORY "https://gitlab.com/libeigen/eigen"
44
- FIND_PACKAGE_ARGS NAMES Eigen3)
45
- FetchContent_MakeAvailable(eigen)
46
-
47
41
FetchContent_Declare(
48
42
google_test
49
43
GIT_REPOSITORY "https://github.com/google/googletest"
@@ -76,45 +70,49 @@ foreach(BENCHMARK "baseline.cpp" "predict_1x1x0.cpp" "predict_1x1x1.cpp"
76
70
"--benchmark_out=${NAME} .json" )
77
71
endforeach ()
78
72
79
- foreach (STATE_SIZE RANGE 1 2)
80
- foreach (OUTPUT_SIZE RANGE 1 2)
81
- configure_file (eigen_update_xx0.cpp
82
- eigen_update_${STATE_SIZE} x${OUTPUT_SIZE} x0.cpp)
83
- get_filename_component (NAME eigen_update_${STATE_SIZE} x${OUTPUT_SIZE} x0.cpp
84
- NAME_WE )
85
- add_executable (kalman_benchmark_${NAME} _driver
86
- eigen_update_${STATE_SIZE} x${OUTPUT_SIZE} x0.cpp)
87
- target_include_directories (kalman_benchmark_${NAME} _driver
88
- PRIVATE "include" )
89
- set_target_properties (kalman_benchmark_${NAME} _driver
90
- PROPERTIES CXX_STANDARD 23)
91
- set_target_properties (kalman_benchmark_${NAME} _driver
92
- PROPERTIES CXX_EXTENSIONS OFF )
93
- target_link_libraries (
94
- kalman_benchmark_${NAME} _driver
95
- PRIVATE benchmark::benchmark benchmark::benchmark_main Eigen3::Eigen
96
- kalman)
97
- add_test (kalman_benchmark_${NAME} kalman_benchmark_${NAME} _driver
98
- "--benchmark_out=${NAME} .json" )
99
- endforeach ()
100
- foreach (INPUT_SIZE RANGE 1 2)
101
- configure_file (eigen_predict_x1x.cpp
102
- eigen_predict_${STATE_SIZE} x1x${INPUT_SIZE} .cpp)
103
- get_filename_component (NAME eigen_predict_${STATE_SIZE} x1x${INPUT_SIZE} .cpp
104
- NAME_WE )
105
- add_executable (kalman_benchmark_${NAME} _driver
106
- eigen_predict_${STATE_SIZE} x1x${INPUT_SIZE} .cpp)
107
- target_include_directories (kalman_benchmark_${NAME} _driver
108
- PRIVATE "include" )
109
- set_target_properties (kalman_benchmark_${NAME} _driver
110
- PROPERTIES CXX_STANDARD 23)
111
- set_target_properties (kalman_benchmark_${NAME} _driver
112
- PROPERTIES CXX_EXTENSIONS OFF )
113
- target_link_libraries (
114
- kalman_benchmark_${NAME} _driver
115
- PRIVATE benchmark::benchmark benchmark::benchmark_main Eigen3::Eigen
116
- kalman)
117
- add_test (kalman_benchmark_${NAME} kalman_benchmark_${NAME} _driver
118
- "--benchmark_out=${NAME} .json" )
73
+ foreach (BACKEND IN ITEMS "eigen" )
74
+ foreach (STATE_SIZE RANGE 1 2)
75
+ foreach (OUTPUT_SIZE RANGE 1 2)
76
+ configure_file (update_linalg_xx0.cpp
77
+ update_linalg_${STATE_SIZE} x${OUTPUT_SIZE} x0.cpp)
78
+ get_filename_component (
79
+ NAME update_linalg_${STATE_SIZE} x${OUTPUT_SIZE} x0.cpp NAME_WE )
80
+ add_executable (kalman_${BACKEND} _benchmark_${NAME} _driver
81
+ update_linalg_${STATE_SIZE} x${OUTPUT_SIZE} x0.cpp)
82
+ target_include_directories (kalman_${BACKEND} _benchmark_${NAME} _driver
83
+ PRIVATE "include" )
84
+ set_target_properties (kalman_${BACKEND} _benchmark_${NAME} _driver
85
+ PROPERTIES CXX_STANDARD 23)
86
+ set_target_properties (kalman_${BACKEND} _benchmark_${NAME} _driver
87
+ PROPERTIES CXX_EXTENSIONS OFF )
88
+ target_link_libraries (
89
+ kalman_${BACKEND} _benchmark_${NAME} _driver
90
+ PRIVATE benchmark::benchmark benchmark::benchmark_main kalman
91
+ kalman_linalg_${BACKEND} )
92
+ add_test (kalman_${BACKEND} _benchmark_${NAME}
93
+ kalman_${BACKEND} _benchmark_${NAME} _driver
94
+ "--benchmark_out=${NAME} .json" )
95
+ endforeach ()
96
+ foreach (INPUT_SIZE RANGE 1 2)
97
+ configure_file (predict_linalg_x1x.cpp
98
+ predict_linalg_${STATE_SIZE} x1x${INPUT_SIZE} .cpp)
99
+ get_filename_component (
100
+ NAME predict_linalg_${STATE_SIZE} x1x${INPUT_SIZE} .cpp NAME_WE )
101
+ add_executable (kalman_${BACKEND} _benchmark_${NAME} _driver
102
+ predict_linalg_${STATE_SIZE} x1x${INPUT_SIZE} .cpp)
103
+ target_include_directories (kalman_${BACKEND} _benchmark_${NAME} _driver
104
+ PRIVATE "include" )
105
+ set_target_properties (kalman_${BACKEND} _benchmark_${NAME} _driver
106
+ PROPERTIES CXX_STANDARD 23)
107
+ set_target_properties (kalman_${BACKEND} _benchmark_${NAME} _driver
108
+ PROPERTIES CXX_EXTENSIONS OFF )
109
+ target_link_libraries (
110
+ kalman_${BACKEND} _benchmark_${NAME} _driver
111
+ PRIVATE benchmark::benchmark benchmark::benchmark_main kalman
112
+ kalman_linalg_${BACKEND} )
113
+ add_test (kalman_${BACKEND} _benchmark_${NAME}
114
+ kalman_${BACKEND} _benchmark_${NAME} _driver
115
+ "--benchmark_out=${NAME} .json" )
116
+ endforeach ()
119
117
endforeach ()
120
118
endforeach ()
0 commit comments