#pragma once
#include "cmConfigure.h"
#include <string>
#include <vector>
#include <cm/optional>
#include "cmArgumentParserTypes.h"
#include "cmCTestHandlerCommand.h"
class cmCTestCoverageCommand : public cmCTestHandlerCommand
{
public:
using cmCTestHandlerCommand::cmCTestHandlerCommand;
protected:
struct CoverageArguments : HandlerArguments
{
cm::optional<ArgumentParser::MaybeEmpty<std::vector<std::string>>> Labels;
};
private:
std::string GetName() const override { return "ctest_coverage"; }
std::unique_ptr<cmCTestGenericHandler> InitializeHandler(
HandlerArguments& arguments, cmExecutionStatus& status) const override;
bool InitialPass(std::vector<std::string> const& args,
cmExecutionStatus& status) const override;
};