aboutsummaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorrobot-ya-builder <robot-ya-builder@yandex-team.com>2023-01-17 13:48:00 +0300
committerrobot-ya-builder <robot-ya-builder@yandex-team.com>2023-01-17 13:48:00 +0300
commit58a117b001b63f06104246f6a89c60128596b391 (patch)
tree7c545e74e01edfc7a6b67a04b4ef5b0eee77e08d /cmake
parent51674dac4bb91435ef6009fa104dfb835e158780 (diff)
downloadydb-58a117b001b63f06104246f6a89c60128596b391.tar.gz
External build system generator release 8
Update tools: yexport
Diffstat (limited to 'cmake')
-rw-r--r--cmake/common.cmake45
-rw-r--r--cmake/global_vars.cmake2
2 files changed, 46 insertions, 1 deletions
diff --git a/cmake/common.cmake b/cmake/common.cmake
index aedd887a20..3b31911776 100644
--- a/cmake/common.cmake
+++ b/cmake/common.cmake
@@ -210,3 +210,48 @@ function(use_export_script Target ExportFile)
LINK_DEPENDS ${OutPath}
)
endfunction()
+
+function(add_yunittest)
+ set(opts "")
+ set(oneval_args NAME TEST_TARGET)
+ set(multival_args TEST_ARG)
+ cmake_parse_arguments(YUNITTEST_ARGS
+ "${opts}"
+ "${oneval_args}"
+ "${multival_args}"
+ ${ARGN}
+ )
+ get_property(SPLIT_FACTOR TARGET ${YUNITTEST_ARGS_TEST_TARGET} PROPERTY SPLIT_FACTOR)
+ if (${SPLIT_FACTOR} EQUAL 1)
+ add_test(NAME ${YUNITTEST_ARGS_NAME} COMMAND ${YUNITTEST_ARGS_TARGET} ${YUNITTEST_ARGS_TEST_ARG})
+ return()
+ endif()
+
+ foreach(Idx RANGE ${SPLIT_FACTOR})
+ add_test(NAME ${YUNITTEST_ARGS_NAME}_${Idx}
+ COMMAND Python3::Interpreter ${CMAKE_SOURCE_DIR}/build/scripts/split_unittest.py --split-factor ${SPLIT_FACTOR} --shard ${Idx}
+ $<TARGET_FILE:${YUNITTEST_ARGS_TEST_TARGET}> ${YUNITTEST_ARGS_TEST_ARG})
+ endforeach()
+endfunction()
+
+function(set_yunittest_property)
+ set(opts "")
+ set(oneval_args TEST PROPERTY)
+ set(multival_args )
+ cmake_parse_arguments(YUNITTEST_ARGS
+ "${opts}"
+ "${oneval_args}"
+ "${multival_args}"
+ ${ARGN}
+ )
+ get_property(SPLIT_FACTOR TARGET ${YUNITTEST_ARGS_TEST} PROPERTY SPLIT_FACTOR)
+
+ if (${SPLIT_FACTOR} EQUAL 1)
+ set_property(TEST ${YUNITTEST_ARGS_TEST} PROPERTY ${YUNITTEST_ARGS_PROPERTY} ${YUNITTEST_ARGS_UNPARSED_ARGUMENTS})
+ return()
+ endif()
+
+ foreach(Idx RANGE ${SPLIT_FACTOR})
+ set_property(TEST ${YUNITTEST_ARGS_TEST}_${Idx} PROPERTY ${YUNITTEST_ARGS_PROPERTY} ${YUNITTEST_ARGS_UNPARSED_ARGUMENTS})
+ endforeach()
+endfunction()
diff --git a/cmake/global_vars.cmake b/cmake/global_vars.cmake
index 311a9af8e9..6ba78b9749 100644
--- a/cmake/global_vars.cmake
+++ b/cmake/global_vars.cmake
@@ -1,5 +1,5 @@
-# This file was gererated by the build system used internally in the Yandex monorepo.
+# This file was generated by the build system used internally in the Yandex monorepo.
# Only simple modifications are allowed (adding source-files to targets, adding simple properties
# like target_include_directories). These modifications will be ported to original
# ya.make files by maintainers. Any complex modifications which can't be ported back to the