2005-01-27 18:11:04 +03:00
|
|
|
/*=========================================================================
|
|
|
|
|
|
|
|
Program: CMake - Cross-Platform Makefile Generator
|
|
|
|
Module: $RCSfile$
|
|
|
|
Language: C++
|
|
|
|
Date: $Date$
|
|
|
|
Version: $Revision$
|
|
|
|
|
|
|
|
Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
|
|
|
|
See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
|
|
|
|
|
|
|
|
This software is distributed WITHOUT ANY WARRANTY; without even
|
|
|
|
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
|
|
PURPOSE. See the above copyright notices for more information.
|
|
|
|
|
|
|
|
=========================================================================*/
|
|
|
|
#ifndef cmCTestRunScriptCommand_h
|
|
|
|
#define cmCTestRunScriptCommand_h
|
|
|
|
|
|
|
|
#include "cmCTestCommand.h"
|
|
|
|
|
|
|
|
/** \class cmCTestRunScript
|
|
|
|
* \brief Run a ctest script
|
|
|
|
*
|
|
|
|
* cmLibrarysCommand defines a list of executable (i.e., test)
|
|
|
|
* programs to create.
|
|
|
|
*/
|
|
|
|
class cmCTestRunScriptCommand : public cmCTestCommand
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
|
|
|
|
cmCTestRunScriptCommand() {}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This is a virtual constructor for the command.
|
|
|
|
*/
|
|
|
|
virtual cmCommand* Clone()
|
|
|
|
{
|
|
|
|
cmCTestRunScriptCommand* ni = new cmCTestRunScriptCommand;
|
2006-03-10 23:03:09 +03:00
|
|
|
ni->CTest = this->CTest;
|
|
|
|
ni->CTestScriptHandler = this->CTestScriptHandler;
|
2005-01-27 18:11:04 +03:00
|
|
|
return ni;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This is called when the command is first encountered in
|
|
|
|
* the CMakeLists.txt file.
|
|
|
|
*/
|
2008-01-23 18:28:26 +03:00
|
|
|
virtual bool InitialPass(std::vector<std::string> const& args,
|
|
|
|
cmExecutionStatus &status);
|
2005-01-27 18:11:04 +03:00
|
|
|
|
|
|
|
/**
|
|
|
|
* The name of the command as specified in CMakeList.txt.
|
|
|
|
*/
|
2008-05-12 17:11:51 +04:00
|
|
|
virtual const char* GetName() { return "ctest_run_script";}
|
2005-01-27 18:11:04 +03:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Succinct documentation.
|
|
|
|
*/
|
|
|
|
virtual const char* GetTerseDocumentation()
|
|
|
|
{
|
|
|
|
return "runs a ctest -S script";
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* More documentation.
|
|
|
|
*/
|
|
|
|
virtual const char* GetFullDocumentation()
|
|
|
|
{
|
|
|
|
return
|
2008-05-12 17:11:51 +04:00
|
|
|
" ctest_run_script([NEW_PROCESS] script_file_name script_file_name1 \n"
|
2009-09-04 21:24:25 +04:00
|
|
|
" script_file_name2 ... [RETURN_VALUE var])\n"
|
2005-01-27 18:11:04 +03:00
|
|
|
"Runs a script or scripts much like if it was run from ctest -S. "
|
|
|
|
"If no argument is provided then the current script is run using "
|
2006-04-04 21:04:28 +04:00
|
|
|
"the current settings of the variables. If NEW_PROCESS is specified "
|
2009-09-04 21:24:25 +04:00
|
|
|
"then each script will be run in a seperate process."
|
|
|
|
"If RETURN_VALUE is specified the return value of the last script "
|
|
|
|
"run will be put into var.";
|
2005-01-27 18:11:04 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
cmTypeMacro(cmCTestRunScriptCommand, cmCTestCommand);
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|