create_test_sourcelist.rst 1.5 KB

123456789101112131415161718192021222324252627282930
  1. create_test_sourcelist
  2. ----------------------
  3. Create a test driver and source list for building test programs.
  4. ::
  5. create_test_sourcelist(sourceListName driverName
  6. test1 test2 test3
  7. EXTRA_INCLUDE include.h
  8. FUNCTION function)
  9. A test driver is a program that links together many small tests into a
  10. single executable. This is useful when building static executables
  11. with large libraries to shrink the total required size. The list of
  12. source files needed to build the test driver will be in
  13. ``sourceListName``. ``driverName`` is the name of the test driver program.
  14. The rest of the arguments consist of a list of test source files, can
  15. be semicolon separated. Each test source file should have a function
  16. in it that is the same name as the file with no extension (foo.cxx
  17. should have int foo(int, char*[]);) ``driverName`` will be able to call
  18. each of the tests by name on the command line. If ``EXTRA_INCLUDE`` is
  19. specified, then the next argument is included into the generated file.
  20. If ``FUNCTION`` is specified, then the next argument is taken as a
  21. function name that is passed a pointer to ac and av. This can be used
  22. to add extra command line processing to each test. The
  23. ``CMAKE_TESTDRIVER_BEFORE_TESTMAIN`` cmake variable can be set to
  24. have code that will be placed directly before calling the test main function.
  25. ``CMAKE_TESTDRIVER_AFTER_TESTMAIN`` can be set to have code that
  26. will be placed directly after the call to the test main function.