summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-07-25 16:00:31 +0000
committerKitware Robot <kwrobot@kitware.com>2022-07-25 12:00:38 -0400
commit7ed8c2de6a755bc05d43ee1d5caf566b14c9209a (patch)
tree487d1c6b511ef954bfef14ebc02b234962695962
parent843998a206d17ea6c5b77204ae8559623689f148 (diff)
parent14a0e750cb33f09faf01134c420483d358d0fae8 (diff)
downloadcmake-7ed8c2de6a755bc05d43ee1d5caf566b14c9209a.tar.gz
Merge topic 'cmake-help-flags-after-dashdash' into release-3.24
14a0e750cb cmake: In -P mode ignore flags like `--version` after `--` Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7496
-rw-r--r--Source/cmakemain.cxx2
-rw-r--r--Tests/RunCMake/CommandLine/P_arbitrary_args-stdout.txt5
-rw-r--r--Tests/RunCMake/CommandLine/P_arbitrary_args.cmake1
-rw-r--r--Tests/RunCMake/CommandLine/RunCMakeTest.cmake2
4 files changed, 6 insertions, 4 deletions
diff --git a/Source/cmakemain.cxx b/Source/cmakemain.cxx
index 97c275efc2..f931e9dbcd 100644
--- a/Source/cmakemain.cxx
+++ b/Source/cmakemain.cxx
@@ -207,7 +207,7 @@ int do_cmake(int ac, char const* const* av)
#ifndef CMAKE_BOOTSTRAP
cmDocumentation doc;
doc.addCMakeStandardDocSections();
- if (doc.CheckOptions(ac, av)) {
+ if (doc.CheckOptions(ac, av, "--")) {
// Construct and print requested documentation.
cmake hcm(cmake::RoleInternal, cmState::Unknown);
hcm.SetHomeDirectory("");
diff --git a/Tests/RunCMake/CommandLine/P_arbitrary_args-stdout.txt b/Tests/RunCMake/CommandLine/P_arbitrary_args-stdout.txt
index c94c19da33..cde76f72a1 100644
--- a/Tests/RunCMake/CommandLine/P_arbitrary_args-stdout.txt
+++ b/Tests/RunCMake/CommandLine/P_arbitrary_args-stdout.txt
@@ -1,4 +1,4 @@
-^-- CMAKE_ARGC='8'
+^-- CMAKE_ARGC='9'
-- CMAKE_ARGV1='-P'
-- CMAKE_ARGV2='[^']*/Tests/RunCMake/CommandLine/P_arbitrary_args.cmake'
-- CMAKE_ARGV3='--'
@@ -6,4 +6,5 @@
-- CMAKE_ARGV5='-S'
-- CMAKE_ARGV6='-B'
-- CMAKE_ARGV7='--fresh'
--- CMAKE_ARGV8=''$
+-- CMAKE_ARGV8='--version'
+-- CMAKE_ARGV9=''$
diff --git a/Tests/RunCMake/CommandLine/P_arbitrary_args.cmake b/Tests/RunCMake/CommandLine/P_arbitrary_args.cmake
index 8dca990109..7d79af5bc9 100644
--- a/Tests/RunCMake/CommandLine/P_arbitrary_args.cmake
+++ b/Tests/RunCMake/CommandLine/P_arbitrary_args.cmake
@@ -7,3 +7,4 @@ message(STATUS "CMAKE_ARGV5='${CMAKE_ARGV5}'")
message(STATUS "CMAKE_ARGV6='${CMAKE_ARGV6}'")
message(STATUS "CMAKE_ARGV7='${CMAKE_ARGV7}'")
message(STATUS "CMAKE_ARGV8='${CMAKE_ARGV8}'")
+message(STATUS "CMAKE_ARGV9='${CMAKE_ARGV9}'")
diff --git a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
index 1663fa897f..fc05b2d9db 100644
--- a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
@@ -53,7 +53,7 @@ run_cmake_command(G_bad-arg ${CMAKE_COMMAND} -B DummyBuildDir -G NoSuchGenerator
run_cmake_command(P_no-arg ${CMAKE_COMMAND} -P)
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)
+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_fresh ${CMAKE_COMMAND} -P "${RunCMake_SOURCE_DIR}/P_fresh.cmake" --fresh)
run_cmake_command(build-no-dir