Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Kitware
GitHub Repository: Kitware/CMake
Path: blob/master/Source/CTest/cmCTestBuildAndTest.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
#include "cmDuration.h"
11
12
class cmake;
13
class cmCTest;
14
15
/** \class cmCTestBuildAndTest
16
* \brief A class that handles ctest -S invocations
17
*
18
*/
19
class cmCTestBuildAndTest
20
{
21
public:
22
/*
23
* The main entry point for this class
24
*/
25
int Run();
26
27
cmCTestBuildAndTest(cmCTest* ctest);
28
29
private:
30
cmCTest* CTest;
31
32
bool RunCMake(cmake* cm);
33
bool RunTest(std::vector<std::string> const& args, int* retVal,
34
cmDuration timeout);
35
36
std::string BuildGenerator;
37
std::string BuildGeneratorPlatform;
38
std::string BuildGeneratorToolset;
39
std::vector<std::string> BuildOptions;
40
bool BuildTwoConfig = false;
41
std::string BuildMakeProgram;
42
std::string ConfigSample;
43
std::string SourceDir;
44
std::string BinaryDir;
45
std::string BuildProject;
46
std::string TestCommand;
47
bool BuildNoClean = false;
48
std::string BuildRunDir;
49
std::string ExecutableDirectory;
50
std::vector<std::string> TestCommandArgs;
51
std::vector<std::string> BuildTargets;
52
bool BuildNoCMake = false;
53
cmDuration Timeout = cmDuration::zero();
54
55
friend class cmCTest;
56
};
57
58