Skip to content
Snippets Groups Projects
Commit 7f90210d authored by Brad King's avatar Brad King Committed by Kitware Robot
Browse files

Merge topic 'stop_parsing_after_first_script_arg' into release-3.26


f9e8a067 cmake: Stop parsing after `--` when detecting script mode

Acked-by: default avatarKitware Robot <kwrobot@kitware.com>
Merge-request: !8186
parents e25d3a0d f9e8a067
No related branches found
No related tags found
No related merge requests found
......@@ -303,6 +303,13 @@ int do_cmake(int ac, char const* const* av)
for (decltype(inputArgs.size()) i = 0; i < inputArgs.size(); ++i) {
std::string const& arg = inputArgs[i];
bool matched = false;
// Only in script mode do we stop parsing instead
// of preferring the last mode flag provided
if (arg == "--" && workingMode == cmake::SCRIPT_MODE) {
parsedArgs = inputArgs;
break;
}
for (auto const& m : arguments) {
if (m.matches(arg)) {
matched = true;
......@@ -311,11 +318,6 @@ int do_cmake(int ac, char const* const* av)
}
return 1; // failed to parse
}
// Only in script mode do we stop parsing instead
// of preferring the last mode flag provided
if (arg == "--" && workingMode == cmake::SCRIPT_MODE) {
break;
}
}
if (!matched) {
parsedArgs.emplace_back(av[i]);
......
^-- CMAKE_ARGC='6'
-- CMAKE_ARGV1='-P'
-- CMAKE_ARGV2='[^']*/Tests/RunCMake/CommandLine/P_arbitrary_args.cmake'
-- CMAKE_ARGV3='--'
-- CMAKE_ARGV4='-P'
-- CMAKE_ARGV5='-o'
-- CMAKE_ARGV6=''
-- CMAKE_ARGV7=''
-- CMAKE_ARGV8=''
-- CMAKE_ARGV9=''$
......@@ -56,6 +56,7 @@ run_cmake_command(P_no-file ${CMAKE_COMMAND} -P nosuchscriptfile.cmake)
run_cmake_command(P_args ${CMAKE_COMMAND} -P "${RunCMake_SOURCE_DIR}/P_args.cmake" relative/path "${RunCMake_SOURCE_DIR}")
run_cmake_command(P_arbitrary_args ${CMAKE_COMMAND} -P "${RunCMake_SOURCE_DIR}/P_arbitrary_args.cmake" -- -DFOO -S -B --fresh --version)
run_cmake_command(P_P_in_arbitrary_args ${CMAKE_COMMAND} -P "${RunCMake_SOURCE_DIR}/P_arbitrary_args.cmake" -- -P "${RunCMake_SOURCE_DIR}/non_existing.cmake")
run_cmake_command(P_P_in_arbitrary_args_2 ${CMAKE_COMMAND} -P "${RunCMake_SOURCE_DIR}/P_arbitrary_args.cmake" -- -P -o)
run_cmake_command(P_fresh ${CMAKE_COMMAND} -P "${RunCMake_SOURCE_DIR}/P_fresh.cmake" --fresh)
run_cmake_command(build-no-dir
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment