cmCTestBuildCommand: Avoid requiring complete cmGlobalGenerator type publicly

This commit is contained in:
Brad King
2023-11-06 18:34:58 -05:00
parent 641c02a3ce
commit 85627a93c9
2 changed files with 12 additions and 9 deletions

View File

@@ -3,11 +3,13 @@
#include "cmCTestBuildCommand.h"
#include <sstream>
#include <utility>
#include <cmext/string_view>
#include "cmCTest.h"
#include "cmCTestBuildHandler.h"
#include "cmCommand.h"
#include "cmGlobalGenerator.h"
#include "cmMakefile.h"
#include "cmMessageType.h"
@@ -18,6 +20,14 @@
class cmExecutionStatus;
std::unique_ptr<cmCommand> cmCTestBuildCommand::Clone()
{
auto ni = cm::make_unique<cmCTestBuildCommand>();
ni->CTest = this->CTest;
ni->CTestScriptHandler = this->CTestScriptHandler;
return std::unique_ptr<cmCommand>(std::move(ni));
}
void cmCTestBuildCommand::BindArguments()
{
this->cmCTestHandlerCommand::BindArguments();

View File

@@ -5,14 +5,13 @@
#include "cmConfigure.h" // IWYU pragma: keep
#include <string>
#include <utility>
#include <vector>
#include <cm/memory>
#include "cmCTestHandlerCommand.h"
#include "cmCommand.h"
class cmCommand;
class cmCTestBuildHandler;
class cmCTestGenericHandler;
class cmExecutionStatus;
@@ -31,13 +30,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
std::unique_ptr<cmCommand> Clone() override
{
auto ni = cm::make_unique<cmCTestBuildCommand>();
ni->CTest = this->CTest;
ni->CTestScriptHandler = this->CTestScriptHandler;
return std::unique_ptr<cmCommand>(std::move(ni));
}
std::unique_ptr<cmCommand> Clone() override;
/**
* The name of the command as specified in CMakeList.txt.