Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Kitware
GitHub Repository: Kitware/CMake
Path: blob/master/Source/CTest/cmCTestCommand.h
4998 views
1
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
2
file LICENSE.rst or https://cmake.org/licensing for details. */
3
#pragma once
4
5
#include "cmConfigure.h" // IWYU pragma: keep
6
7
#include <string>
8
#include <vector>
9
10
class cmCTest;
11
class cmExecutionStatus;
12
struct cmListFileArgument;
13
14
/** \class cmCTestCommand
15
* \brief A superclass for all commands added to the CTestScriptHandler
16
*
17
* cmCTestCommand is the superclass for all commands that will be added to
18
* the ctest script handlers parser.
19
*
20
*/
21
class cmCTestCommand
22
{
23
public:
24
cmCTestCommand(cmCTest* ctest)
25
: CTest(ctest)
26
{
27
}
28
29
virtual ~cmCTestCommand() = default;
30
cmCTestCommand(cmCTestCommand const&) = default;
31
cmCTestCommand& operator=(cmCTestCommand const&) = default;
32
33
bool operator()(std::vector<cmListFileArgument> const& args,
34
cmExecutionStatus& status) const;
35
36
private:
37
virtual bool InitialPass(std::vector<std::string> const& args,
38
cmExecutionStatus&) const = 0;
39
40
protected:
41
cmCTest* CTest = nullptr;
42
};
43
44