diff options
author | Regina Pfeifer <regina@mailbox.org> | 2019-09-19 11:11:55 (GMT) |
---|---|---|
committer | Regina Pfeifer <regina@mailbox.org> | 2019-09-20 11:27:30 (GMT) |
commit | 0aa8a2ab8b00c0889df3d0fa1be47ad5a0b9db22 (patch) | |
tree | 707ea2e27d95ba423c5710bb4ecd42bce5e91023 /Source/CTest/cmCTestCoverageCommand.cxx | |
parent | d5a6a133680e4d5798522a4b29ae6bced1f2db3a (diff) | |
download | CMake-0aa8a2ab8b00c0889df3d0fa1be47ad5a0b9db22.zip CMake-0aa8a2ab8b00c0889df3d0fa1be47ad5a0b9db22.tar.gz CMake-0aa8a2ab8b00c0889df3d0fa1be47ad5a0b9db22.tar.bz2 |
cmCTest*Command: Port to cmArgumentParser
Diffstat (limited to 'Source/CTest/cmCTestCoverageCommand.cxx')
-rw-r--r-- | Source/CTest/cmCTestCoverageCommand.cxx | 44 |
1 files changed, 16 insertions, 28 deletions
diff --git a/Source/CTest/cmCTestCoverageCommand.cxx b/Source/CTest/cmCTestCoverageCommand.cxx index 07aae76..b66bba7 100644 --- a/Source/CTest/cmCTestCoverageCommand.cxx +++ b/Source/CTest/cmCTestCoverageCommand.cxx @@ -2,14 +2,26 @@ file Copyright.txt or https://cmake.org/licensing for details. */ #include "cmCTestCoverageCommand.h" +#include <set> + +#include "cmAlgorithms.h" #include "cmCTest.h" #include "cmCTestCoverageHandler.h" +#include "cm_static_string_view.hxx" class cmCTestGenericHandler; -cmCTestCoverageCommand::cmCTestCoverageCommand() +void cmCTestCoverageCommand::BindArguments() +{ + this->cmCTestHandlerCommand::BindArguments(); + this->Bind("LABELS"_s, this->Labels); +} + +void cmCTestCoverageCommand::CheckArguments( + std::vector<std::string> const& keywords) { - this->LabelsMentioned = false; + this->LabelsMentioned = + !this->Labels.empty() || cmContains(keywords, "LABELS"); } cmCTestGenericHandler* cmCTestCoverageCommand::InitializeHandler() @@ -24,34 +36,10 @@ cmCTestGenericHandler* cmCTestCoverageCommand::InitializeHandler() // If a LABELS option was given, select only files with the labels. if (this->LabelsMentioned) { - handler->SetLabelFilter(this->Labels); + handler->SetLabelFilter( + std::set<std::string>(this->Labels.begin(), this->Labels.end())); } handler->SetQuiet(this->Quiet); return handler; } - -bool cmCTestCoverageCommand::CheckArgumentKeyword(std::string const& arg) -{ - // Look for arguments specific to this command. - if (arg == "LABELS") { - this->ArgumentDoing = ArgumentDoingLabels; - this->LabelsMentioned = true; - return true; - } - - // Look for other arguments. - return this->Superclass::CheckArgumentKeyword(arg); -} - -bool cmCTestCoverageCommand::CheckArgumentValue(std::string const& arg) -{ - // Handle states specific to this command. - if (this->ArgumentDoing == ArgumentDoingLabels) { - this->Labels.insert(arg); - return true; - } - - // Look for other arguments. - return this->Superclass::CheckArgumentValue(arg); -} |