| create_test_sourcelist |
| ---------------------- |
| |
| Create a test driver and source list for building test programs. |
| |
| .. code-block:: cmake |
| |
| 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 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. |