|
|
@@ -48,6 +48,12 @@ using options_set = std::set<cm::string_view>;
|
|
|
|
|
|
struct UserArgumentParser : public cmArgumentParser<void>
|
|
|
{
|
|
|
+ void BindKeywordsMissingValue(std::vector<cm::string_view>& ref)
|
|
|
+ {
|
|
|
+ this->cmArgumentParser<void>::BindKeywordMissingValue(
|
|
|
+ [&ref](Instance&, cm::string_view arg) { ref.emplace_back(arg); });
|
|
|
+ }
|
|
|
+
|
|
|
template <typename T, typename H>
|
|
|
void Bind(std::vector<std::string> const& names,
|
|
|
std::map<std::string, T>& ref, H duplicateKey)
|
|
|
@@ -211,8 +217,9 @@ bool cmParseArgumentsCommand(std::vector<std::string> const& args,
|
|
|
}
|
|
|
|
|
|
std::vector<cm::string_view> keywordsMissingValues;
|
|
|
+ parser.BindKeywordsMissingValue(keywordsMissingValues);
|
|
|
|
|
|
- parser.Parse(list, &unparsed, &keywordsMissingValues);
|
|
|
+ parser.Parse(list, &unparsed);
|
|
|
|
|
|
PassParsedArguments(
|
|
|
prefix, status.GetMakefile(), options, singleValArgs, multiValArgs,
|