diff options
author | Alexey Edelev <alexey.edelev@qt.io> | 2020-12-03 19:13:08 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2020-12-07 19:27:05 +0000 |
commit | acfe198d08a45854e8edf1b1fadacec58ce6e075 (patch) | |
tree | 2b4e8d81777db7296abdb15b1a6e4b077772d2d7 /cmake/QtTestHelpers.cmake | |
parent | 01474c31ba2a3ca225cbc2440bd0ee28458b2a26 (diff) |
CMake: Add extra targets to run single benchmark using CMake generator
Add custom targets with '_benchmark' suffixes to make run of
benchmarks using generators possible, e.g.:
$ ninja tst_bench_qudpsocket_benchmark
Extend '-[no]make' option to pass benchmark. Rework
'-[no]make' processing to unify these options processing.
Also looks like it doesn't make sense to enable benchmarks without
having test enabled. So '-DQT_BUILD_BENCHMARKS' enables test as own
dependency automatically.
Task-number: QTBUG-89076
Change-Id: Ieee9eadaf6d75a1efec120242d6eb786ace1b071
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 61d5b019727dd1c06366205cb307a2a928a2a29c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'cmake/QtTestHelpers.cmake')
-rw-r--r-- | cmake/QtTestHelpers.cmake | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/cmake/QtTestHelpers.cmake b/cmake/QtTestHelpers.cmake index 3405eee83a..756be0ad4b 100644 --- a/cmake/QtTestHelpers.cmake +++ b/cmake/QtTestHelpers.cmake @@ -33,6 +33,17 @@ function(qt_internal_add_benchmark target) ${exec_args} ) + # Add a ${target}_benchmark generator target, to run single benchmark more easily. + # TODO: Need to use test wrapper script with propagated environment variables to run benchmarks. + add_custom_target("${target}_benchmark" + VERBATIM + COMMENT "Running benchmark ${target}" + COMMAND "$<TARGET_FILE:${target}>" + ) + add_dependencies("${target}_benchmark" "${target}") + + #Add benchmark to meta target. + add_dependencies("benchmark" "${target}_benchmark") endfunction() # Simple wrapper around qt_internal_add_executable for manual tests which insure that |