From 85627a93c92afb628e2eb22f380966b9a0f45a8f Mon Sep 17 00:00:00 2001 From: Brad King <brad.king@kitware.com> Date: Mon, 6 Nov 2023 18:34:58 -0500 Subject: cmCTestBuildCommand: Avoid requiring complete cmGlobalGenerator type publicly --- Source/CTest/cmCTestBuildCommand.cxx | 10 ++++++++++ Source/CTest/cmCTestBuildCommand.h | 11 ++--------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/Source/CTest/cmCTestBuildCommand.cxx b/Source/CTest/cmCTestBuildCommand.cxx index 50d69df..d8ef195 100644 --- a/Source/CTest/cmCTestBuildCommand.cxx +++ b/Source/CTest/cmCTestBuildCommand.cxx @@ -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(); diff --git a/Source/CTest/cmCTestBuildCommand.h b/Source/CTest/cmCTestBuildCommand.h index 1254dad..3b7f4f9 100644 --- a/Source/CTest/cmCTestBuildCommand.h +++ b/Source/CTest/cmCTestBuildCommand.h @@ -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. -- cgit v0.12