FindGTest: Optionally detect sources automatically (#14775)
Teach GTEST_ADD_TESTS an "AUTO" option to read the source files from the SOURCES target property of an executable.
This commit is contained in:
parent
6e6fbb0e43
commit
c50325b8e5
|
@ -79,7 +79,7 @@
|
|||
# extra_args = Pass a list of extra arguments to be passed to
|
||||
# executable enclosed in quotes (or "" for none)
|
||||
# ARGN = A list of source files to search for tests & test
|
||||
# fixtures.
|
||||
# fixtures. Or AUTO to find them from executable target.
|
||||
#
|
||||
#
|
||||
#
|
||||
|
@ -88,7 +88,7 @@
|
|||
# Example:
|
||||
# set(FooTestArgs --foo 1 --bar 2)
|
||||
# add_executable(FooTest FooUnitTest.cc)
|
||||
# GTEST_ADD_TESTS(FooTest "${FooTestArgs}" FooUnitTest.cc)
|
||||
# GTEST_ADD_TESTS(FooTest "${FooTestArgs}" AUTO)
|
||||
|
||||
#=============================================================================
|
||||
# Copyright 2009 Kitware, Inc.
|
||||
|
@ -111,6 +111,10 @@ function(GTEST_ADD_TESTS executable extra_args)
|
|||
if(NOT ARGN)
|
||||
message(FATAL_ERROR "Missing ARGN: Read the documentation for GTEST_ADD_TESTS")
|
||||
endif()
|
||||
if(ARGN STREQUAL "AUTO")
|
||||
# obtain sources used for building that executable
|
||||
get_property(ARGN TARGET ${executable} PROPERTY SOURCES)
|
||||
endif()
|
||||
foreach(source ${ARGN})
|
||||
file(READ "${source}" contents)
|
||||
string(REGEX MATCHALL "TEST_?F?\\(([A-Za-z_0-9 ,]+)\\)" found_tests ${contents})
|
||||
|
|
Loading…
Reference in New Issue