mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-11 08:20:18 -06:00
cmConfigureFileCommand: simplify no-op argument handling
This commit is contained in:
@@ -2,6 +2,12 @@
|
||||
file Copyright.txt or https://cmake.org/licensing for details. */
|
||||
#include "cmConfigureFileCommand.h"
|
||||
|
||||
#include <set>
|
||||
|
||||
#include <cm/string_view>
|
||||
|
||||
#include "cm_static_string_view.hxx"
|
||||
|
||||
#include "cmExecutionStatus.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageType.h"
|
||||
@@ -56,6 +62,18 @@ bool cmConfigureFileCommand(std::vector<std::string> const& args,
|
||||
bool copyOnly = false;
|
||||
bool escapeQuotes = false;
|
||||
|
||||
static std::set<cm::string_view> noopOptions = {
|
||||
/* Legacy. */
|
||||
"IMMEDIATE"_s,
|
||||
/* Handled by NewLineStyle member. */
|
||||
"NEWLINE_STYLE"_s,
|
||||
"LF"_s,
|
||||
"UNIX"_s,
|
||||
"CRLF"_s,
|
||||
"WIN32"_s,
|
||||
"DOS"_s,
|
||||
};
|
||||
|
||||
std::string unknown_args;
|
||||
bool atOnly = false;
|
||||
for (unsigned int i = 2; i < args.size(); ++i) {
|
||||
@@ -70,12 +88,8 @@ bool cmConfigureFileCommand(std::vector<std::string> const& args,
|
||||
escapeQuotes = true;
|
||||
} else if (args[i] == "@ONLY") {
|
||||
atOnly = true;
|
||||
} else if (args[i] == "IMMEDIATE") {
|
||||
/* Ignore legacy option. */
|
||||
} else if (args[i] == "NEWLINE_STYLE" || args[i] == "LF" ||
|
||||
args[i] == "UNIX" || args[i] == "CRLF" || args[i] == "WIN32" ||
|
||||
args[i] == "DOS") {
|
||||
/* Options handled by NewLineStyle member above. */
|
||||
} else if (noopOptions.find(args[i]) != noopOptions.end()) {
|
||||
/* Ignore no-op options. */
|
||||
} else {
|
||||
unknown_args += " ";
|
||||
unknown_args += args[i];
|
||||
|
||||
Reference in New Issue
Block a user