mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-05 05:11:15 -06:00
43 lines
1.0 KiB
C++
43 lines
1.0 KiB
C++
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
file Copyright.txt or https://cmake.org/licensing for details. */
|
|
#pragma once
|
|
|
|
#include "cmConfigure.h" // IWYU pragma: keep
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
class cmCTest;
|
|
class cmExecutionStatus;
|
|
struct cmListFileArgument;
|
|
|
|
/** \class cmCTestCommand
|
|
* \brief A superclass for all commands added to the CTestScriptHandler
|
|
*
|
|
* cmCTestCommand is the superclass for all commands that will be added to
|
|
* the ctest script handlers parser.
|
|
*
|
|
*/
|
|
class cmCTestCommand
|
|
{
|
|
public:
|
|
cmCTestCommand(cmCTest* ctest)
|
|
: CTest(ctest)
|
|
{
|
|
}
|
|
|
|
virtual ~cmCTestCommand() = default;
|
|
cmCTestCommand(cmCTestCommand const&) = default;
|
|
cmCTestCommand& operator=(cmCTestCommand const&) = default;
|
|
|
|
bool operator()(std::vector<cmListFileArgument> const& args,
|
|
cmExecutionStatus& status) const;
|
|
|
|
private:
|
|
virtual bool InitialPass(std::vector<std::string> const& args,
|
|
cmExecutionStatus&) const = 0;
|
|
|
|
protected:
|
|
cmCTest* CTest = nullptr;
|
|
};
|