PROPERTY TIMEOUT 3600)
endfunction()
+option(WITH_GTEST_PARALLEL "Enable running gtest based tests in parallel" OFF)
+if(WITH_GTEST_PARALLEL)
+ include(ExternalProject)
+ ExternalProject_Add(gtest-parallel_ext
+ SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/gtest-parallel
+ GIT_REPOSITORY "https://github.com/google/gtest-parallel.git"
+ GIT_TAG "master"
+ CONFIGURE_COMMAND ""
+ BUILD_COMMAND ""
+ INSTALL_COMMAND "")
+ add_dependencies(tests gtest-parallel_ext)
+endif()
+
#sets uniform compiler flags and link libraries
function(add_ceph_unittest unittest_name)
set(UNITTEST "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${unittest_name}")
# If the second argument is "parallel", it means we want a parallel run
- if("${ARGV1}" STREQUAL "parallel")
- set(UNITTEST ${CMAKE_SOURCE_DIR}/src/test/gtest-parallel/gtest-parallel ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${unittest_name})
+ if(WITH_GTEST_PARALLEL AND "${ARGV1}" STREQUAL "parallel")
+ ExternalProject_Get_Property(gtest-parallel_ext source_dir)
+ set(UNITTEST ${source_dir}/gtest-parallel ${UNITTEST})
endif()
add_ceph_test(${unittest_name} "${UNITTEST}")
target_link_libraries(${unittest_name} ${UNITTEST_LIBS})