mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-09-25 04:09:36 +03:00
cpack: Add CLI argument spell checking
Use Levenshtein distance to track when the user may have made a typo in an argument to `cpack`.
This commit is contained in:
@@ -265,6 +265,11 @@ int main(int argc, char const* const* argv)
|
||||
}
|
||||
if (!matched && cmHasPrefix(arg, '-')) {
|
||||
std::string error = cmStrCat("Unknown argument: ", arg);
|
||||
std::string const suggestion =
|
||||
cmFindClosestCommandLineArgument(arg, arguments);
|
||||
if (!suggestion.empty()) {
|
||||
error = cmStrCat(error, ". Did you mean: ", suggestion, '?');
|
||||
}
|
||||
cmCPack_Log(&log, cmCPackLog::LOG_ERROR, error << '\n');
|
||||
parsed = false;
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ set(CPACK_PACKAGE_VERSION "1")
|
||||
]])
|
||||
set(RunCMake_TEST_NO_CLEAN 1)
|
||||
run_cmake_command(NotAGenerator ${CMAKE_CPACK_COMMAND} -G NotAGenerator)
|
||||
run_cmake_command(UnknownArgumentDidYouMean ${CMAKE_CPACK_COMMAND} --verbos)
|
||||
unset(RunCMake_TEST_NO_CLEAN)
|
||||
|
||||
function(run_MultiConfig)
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
1
|
||||
@@ -0,0 +1 @@
|
||||
^CPack Error: Unknown argument: --verbos\. Did you mean: --verbose\?
|
||||
Reference in New Issue
Block a user