|
|
@@ -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];
|