mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-30 02:59:22 -05:00
Merge topic 'Help-create_test_sourcelist'
464bc12bb7Help/create_test_sourcelist: format arguments in the signature docs131f9c9efaHelp/create_test_sourcelist: add formatting markup8540520902Help/create_test_sourcelist: reflow prose Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9059
This commit is contained in:
@@ -5,26 +5,25 @@ Create a test driver and source list for building test programs.
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
create_test_sourcelist(sourceListName driverName
|
||||
test1 test2 test3
|
||||
EXTRA_INCLUDE include.h
|
||||
FUNCTION function)
|
||||
create_test_sourcelist(<sourceListName> <driverName>
|
||||
<tests> ...
|
||||
[EXTRA_INCLUDE <include>]
|
||||
[FUNCTION <function>])
|
||||
|
||||
A test driver is a program that links together many small tests into a
|
||||
single executable. This is useful when building static executables
|
||||
with large libraries to shrink the total required size. The list of
|
||||
source files needed to build the test driver will be in
|
||||
``sourceListName``. ``driverName`` is the name of the test driver program.
|
||||
The rest of the arguments consist of a list of test source files, can
|
||||
be semicolon separated. Each test source file should have a function
|
||||
in it that is the same name as the file with no extension (foo.cxx
|
||||
should have int foo(int, char*[]);) ``driverName`` will be able to call
|
||||
each of the tests by name on the command line. If ``EXTRA_INCLUDE`` is
|
||||
specified, then the next argument is included into the generated file.
|
||||
If ``FUNCTION`` is specified, then the next argument is taken as a
|
||||
function name that is passed a pointer to ac and av. This can be used
|
||||
to add extra command line processing to each test. The
|
||||
``CMAKE_TESTDRIVER_BEFORE_TESTMAIN`` cmake variable can be set to
|
||||
have code that will be placed directly before calling the test main function.
|
||||
``CMAKE_TESTDRIVER_AFTER_TESTMAIN`` can be set to have code that
|
||||
will be placed directly after the call to the test main function.
|
||||
A test driver is a program that links together many small tests into a single
|
||||
executable. This is useful when building static executables with large
|
||||
libraries to shrink the total required size. The list of source files needed
|
||||
to build the test driver will be in ``sourceListName``. ``driverName`` is the
|
||||
name of the test driver program. The rest of the arguments consist of a list
|
||||
of test source files and can be semicolon separated. Each test source file
|
||||
should have a function in it that is the same name as the file with no
|
||||
extension (``foo.cxx`` should have ``int foo(int, char*[]);``). ``driverName``
|
||||
will be able to call each of the tests by name on the command line. If
|
||||
``EXTRA_INCLUDE`` is specified, then the next argument is included into the
|
||||
generated file. If ``FUNCTION`` is specified, then the next argument is taken
|
||||
as a function name that is passed pointers to ``argc`` and ``argv``. This can
|
||||
be used to add extra command line processing to each test. The
|
||||
``CMAKE_TESTDRIVER_BEFORE_TESTMAIN`` cmake variable can be set to have code
|
||||
that will be placed directly before calling the test ``main`` function.
|
||||
``CMAKE_TESTDRIVER_AFTER_TESTMAIN`` can be set to have code that will be
|
||||
placed directly after the call to the test ``main`` function.
|
||||
|
||||
Reference in New Issue
Block a user