Merge topic 'file-MAKE_DIRECTORY-result-var' into release-4.0

41d91387f6 Merge branch 'backport-3.31-file-MAKE_DIRECTORY-result-var'
3dd701c068 Merge branch 'backport-3.31-file-MAKE_DIRECTORY-result-var' (early part)
397ec37528 file(MAKE_DIRECTORY): Do not make directories for command keywords
a039a1655d file(MAKE_DIRECTORY): Clarify formatting of unexpected arguments error
90d9c79348 file(MAKE_DIRECTORY): Do not make directories for command keywords

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10467
This commit is contained in:
Brad King 2025-03-14 15:45:09 +00:00 committed by Kitware Robot
commit af4ea6df00
5 changed files with 18 additions and 4 deletions

View File

@ -864,7 +864,7 @@ bool HandleMakeDirectoryCommand(std::vector<std::string> const& args,
cmMakeRange(cm::begin(unparsedArguments), cm::end(unparsedArguments)),
"\n");
status.SetError("MAKE_DIRECTORY called with unexpected\n"
"arguments:\n" +
"arguments:\n " +
unexpectedArgsStr);
return false;
}
@ -875,9 +875,7 @@ bool HandleMakeDirectoryCommand(std::vector<std::string> const& args,
}
std::string expr;
for (std::string const& arg :
cmMakeRange(args).advance(1)) // Get rid of subcommand
{
for (std::string const& arg : argsRange) {
std::string const* cdir = &arg;
if (!cmsys::SystemTools::FileIsFullPath(arg)) {
expr =

View File

@ -0,0 +1,8 @@
^CMake Error at [^
]*/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-after-RESULT\.cmake:[0-9]+ \(file\):
file MAKE_DIRECTORY called with unexpected
arguments:
[^
]*/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-after-RESULT-build/after$

View File

@ -0,0 +1,6 @@
file(MAKE_DIRECTORY
"${CMAKE_CURRENT_BINARY_DIR}/before"
RESULT resultVal
"${CMAKE_CURRENT_BINARY_DIR}/after"
)
message(STATUS "Result=${resultVal}")

View File

@ -5,3 +5,4 @@ run_cmake_script(MAKE_DIRECTORY-Result-one-dir-FAIL)
run_cmake_script(MAKE_DIRECTORY-Result-one-dir-SUCCESS)
run_cmake_script(MAKE_DIRECTORY-Result-many-dirs-FAIL)
run_cmake_script(MAKE_DIRECTORY-Result-many-dirs-SUCCESS)
run_cmake_script(MAKE_DIRECTORY-after-RESULT)