diff options
author | Matthew Woehlke <matthew.woehlke@kitware.com> | 2022-09-15 17:34:30 (GMT) |
---|---|---|
committer | Matthew Woehlke <matthew.woehlke@kitware.com> | 2022-09-15 17:34:30 (GMT) |
commit | f976800577ce6db799894318cc1f7df2843f20ce (patch) | |
tree | 1795d57f4306fd9e991cbaa677b10e587851440d | |
parent | 01a25d72c69b0a9a60c1a62939d6a2c543448118 (diff) | |
download | CMake-f976800577ce6db799894318cc1f7df2843f20ce.zip CMake-f976800577ce6db799894318cc1f7df2843f20ce.tar.gz CMake-f976800577ce6db799894318cc1f7df2843f20ce.tar.bz2 |
try_compile: More useful error if insufficient arguments
Tweak try_compile and try_run to give a more informative error (rather
than "unknown error") when given an insufficient number of arguments.
-rw-r--r-- | Source/cmTryCompileCommand.cxx | 7 | ||||
-rw-r--r-- | Source/cmTryRunCommand.cxx | 6 | ||||
-rw-r--r-- | Tests/RunCMake/try_compile/NoArgs-stderr.txt | 2 | ||||
-rw-r--r-- | Tests/RunCMake/try_compile/OneArg-stderr.txt | 2 | ||||
-rw-r--r-- | Tests/RunCMake/try_compile/TwoArgs-stderr.txt | 2 |
5 files changed, 12 insertions, 7 deletions
diff --git a/Source/cmTryCompileCommand.cxx b/Source/cmTryCompileCommand.cxx index b59c225..a2c4ce1 100644 --- a/Source/cmTryCompileCommand.cxx +++ b/Source/cmTryCompileCommand.cxx @@ -16,12 +16,15 @@ bool cmTryCompileCommand(std::vector<std::string> const& args, cmExecutionStatus& status) { + cmMakefile& mf = status.GetMakefile(); + if (args.size() < 3) { + mf.IssueMessage( + MessageType::FATAL_ERROR, + "The try_compile() command requires at least 3 arguments."); return false; } - cmMakefile& mf = status.GetMakefile(); - if (mf.GetCMakeInstance()->GetWorkingMode() == cmake::FIND_PACKAGE_MODE) { mf.IssueMessage( MessageType::FATAL_ERROR, diff --git a/Source/cmTryRunCommand.cxx b/Source/cmTryRunCommand.cxx index 7a29521..70c7cf1 100644 --- a/Source/cmTryRunCommand.cxx +++ b/Source/cmTryRunCommand.cxx @@ -469,12 +469,14 @@ void TryRunCommandImpl::DoNotRunExecutable( bool cmTryRunCommand(std::vector<std::string> const& args, cmExecutionStatus& status) { + cmMakefile& mf = status.GetMakefile(); + if (args.size() < 4) { + mf.IssueMessage(MessageType::FATAL_ERROR, + "The try_run() command requires at least 4 arguments."); return false; } - cmMakefile& mf = status.GetMakefile(); - if (mf.GetCMakeInstance()->GetWorkingMode() == cmake::FIND_PACKAGE_MODE) { mf.IssueMessage( MessageType::FATAL_ERROR, diff --git a/Tests/RunCMake/try_compile/NoArgs-stderr.txt b/Tests/RunCMake/try_compile/NoArgs-stderr.txt index 72a697e..4228580 100644 --- a/Tests/RunCMake/try_compile/NoArgs-stderr.txt +++ b/Tests/RunCMake/try_compile/NoArgs-stderr.txt @@ -1,4 +1,4 @@ CMake Error at NoArgs.cmake:[0-9]+ \(try_compile\): - try_compile unknown error. + The try_compile\(\) command requires at least 3 arguments. Call Stack \(most recent call first\): CMakeLists.txt:3 \(include\) diff --git a/Tests/RunCMake/try_compile/OneArg-stderr.txt b/Tests/RunCMake/try_compile/OneArg-stderr.txt index bb0239e..a2e983e 100644 --- a/Tests/RunCMake/try_compile/OneArg-stderr.txt +++ b/Tests/RunCMake/try_compile/OneArg-stderr.txt @@ -1,4 +1,4 @@ CMake Error at OneArg.cmake:[0-9]+ \(try_compile\): - try_compile unknown error. + The try_compile\(\) command requires at least 3 arguments. Call Stack \(most recent call first\): CMakeLists.txt:3 \(include\) diff --git a/Tests/RunCMake/try_compile/TwoArgs-stderr.txt b/Tests/RunCMake/try_compile/TwoArgs-stderr.txt index 38f1d75..b68e78e 100644 --- a/Tests/RunCMake/try_compile/TwoArgs-stderr.txt +++ b/Tests/RunCMake/try_compile/TwoArgs-stderr.txt @@ -1,4 +1,4 @@ CMake Error at TwoArgs.cmake:[0-9]+ \(try_compile\): - try_compile unknown error. + The try_compile\(\) command requires at least 3 arguments. Call Stack \(most recent call first\): CMakeLists.txt:3 \(include\) |