diff options
author | Brad King <brad.king@kitware.com> | 2023-08-08 14:06:21 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2023-08-08 14:06:38 (GMT) |
commit | 4a8f9260c5159015060515d3409329f719eac8c3 (patch) | |
tree | 51fe267989d5924b2c2fa6520e356f37c3326209 | |
parent | a707bc1349034978b9275f18e37951a38c105e9b (diff) | |
parent | 88f90a72f11bfdd16da63681ba3a5c482cf07304 (diff) | |
download | CMake-4a8f9260c5159015060515d3409329f719eac8c3.zip CMake-4a8f9260c5159015060515d3409329f719eac8c3.tar.gz CMake-4a8f9260c5159015060515d3409329f719eac8c3.tar.bz2 |
Merge topic 'file-GENERATE-arg-parsing' into release-3.27
88f90a72f1 file(GENERATE): Restore INPUT|CONTENT parse checking
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8694
-rw-r--r-- | Source/cmFileCommand.cxx | 3 | ||||
-rw-r--r-- | Tests/RunCMake/File_Generate/OutOfOrderArgs-result.txt | 1 | ||||
-rw-r--r-- | Tests/RunCMake/File_Generate/OutOfOrderArgs-stderr.txt | 4 | ||||
-rw-r--r-- | Tests/RunCMake/File_Generate/OutOfOrderArgs.cmake | 4 | ||||
-rw-r--r-- | Tests/RunCMake/File_Generate/RunCMakeTest.cmake | 1 |
5 files changed, 12 insertions, 1 deletions
diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx index 45fba8b..8f2ebf5 100644 --- a/Source/cmFileCommand.cxx +++ b/Source/cmFileCommand.cxx @@ -2555,8 +2555,9 @@ bool HandleGenerateCommand(std::vector<std::string> const& args, return false; } const bool inputIsContent = arguments.ParsedKeywords[1] == "CONTENT"_s; - if (!inputIsContent && arguments.ParsedKeywords[1] == "INPUT") { + if (!inputIsContent && arguments.ParsedKeywords[1] != "INPUT") { status.SetError("Unknown argument to GENERATE subcommand."); + return false; } std::string const& input = inputIsContent ? *arguments.Content : *arguments.Input; diff --git a/Tests/RunCMake/File_Generate/OutOfOrderArgs-result.txt b/Tests/RunCMake/File_Generate/OutOfOrderArgs-result.txt new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/Tests/RunCMake/File_Generate/OutOfOrderArgs-result.txt @@ -0,0 +1 @@ +1 diff --git a/Tests/RunCMake/File_Generate/OutOfOrderArgs-stderr.txt b/Tests/RunCMake/File_Generate/OutOfOrderArgs-stderr.txt new file mode 100644 index 0000000..a3f5cd5 --- /dev/null +++ b/Tests/RunCMake/File_Generate/OutOfOrderArgs-stderr.txt @@ -0,0 +1,4 @@ +^CMake Error at OutOfOrderArgs\.cmake:[0-9]+ \(file\): + file Unknown argument to GENERATE subcommand\. +Call Stack \(most recent call first\): + CMakeLists\.txt:[0-9]+ \(include\)$ diff --git a/Tests/RunCMake/File_Generate/OutOfOrderArgs.cmake b/Tests/RunCMake/File_Generate/OutOfOrderArgs.cmake new file mode 100644 index 0000000..7f0578b --- /dev/null +++ b/Tests/RunCMake/File_Generate/OutOfOrderArgs.cmake @@ -0,0 +1,4 @@ +file(GENERATE OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/output.txt" + CONDITION 1 + CONTENT "CONTENT argument" + ) diff --git a/Tests/RunCMake/File_Generate/RunCMakeTest.cmake b/Tests/RunCMake/File_Generate/RunCMakeTest.cmake index 5a670ae..e601991 100644 --- a/Tests/RunCMake/File_Generate/RunCMakeTest.cmake +++ b/Tests/RunCMake/File_Generate/RunCMakeTest.cmake @@ -15,6 +15,7 @@ endif() run_cmake(EmptyCondition1) run_cmake(EmptyCondition2) run_cmake(BadCondition) +run_cmake(OutOfOrderArgs) run_cmake(DebugEvaluate) run_cmake(GenerateSource) run_cmake(InputAndContent) |