cmCreateTestSourceList.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /*=========================================================================
  2. Program: Insight Segmentation & Registration Toolkit
  3. Module: $RCSfile$
  4. Language: C++
  5. Date: $Date$
  6. Version: $Revision$
  7. Copyright (c) 2002 Insight Consortium. All rights reserved.
  8. See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
  9. This software is distributed WITHOUT ANY WARRANTY; without even
  10. the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  11. PURPOSE. See the above copyright notices for more information.
  12. =========================================================================*/
  13. #ifndef cmCreateTestSourceList_h
  14. #define cmCreateTestSourceList_h
  15. #include "cmStandardIncludes.h"
  16. #include "cmCommand.h"
  17. /** \class cmCreateTestSourceList
  18. * \brief
  19. *
  20. */
  21. class cmCreateTestSourceList : public cmCommand
  22. {
  23. public:
  24. /**
  25. * This is a virtual constructor for the command.
  26. */
  27. virtual cmCommand* Clone()
  28. {
  29. return new cmCreateTestSourceList;
  30. }
  31. /**
  32. * This is called when the command is first encountered in
  33. * the CMakeLists.txt file.
  34. */
  35. virtual bool InitialPass(std::vector<std::string> const& args);
  36. /**
  37. * This determines if the command gets propagated down
  38. * to makefiles located in subdirectories.
  39. */
  40. virtual bool IsInherited() {return true;}
  41. /**
  42. * The name of the command as specified in CMakeList.txt.
  43. */
  44. virtual const char* GetName() {return "CREATE_TEST_SOURCELIST";}
  45. /**
  46. * Succinct documentation.
  47. */
  48. virtual const char* GetTerseDocumentation()
  49. {
  50. return "Create a test driver and source list for building test programs.";
  51. }
  52. /**
  53. * More documentation.
  54. */
  55. virtual const char* GetFullDocumentation()
  56. {
  57. return
  58. "CREATE_TEST_SOURCELIST(SourceListName DriverName test1 test2 test3"
  59. "The list of source files needed to build the testdriver will be in SourceListName.\n"
  60. "DriverName.cxx is the name of the test driver program.\n"
  61. "The rest of the arguments consist of a list of test source files, can be "
  62. "; separated. Each test source file should have a function in it that "
  63. "is the same name as the file with no extension (foo.cxx should have int foo();) "
  64. "DriverName.cxx will be able to call each of the tests by name on the command line.";
  65. }
  66. cmTypeMacro(cmCreateTestSourceList, cmCommand);
  67. };
  68. #endif