فهرست منبع

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 <[email protected]>
Merge-request: !7496
Brad King 3 سال پیش
والد
کامیت
7ed8c2de6a

+ 1 - 1
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("");

+ 3 - 2
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=''$

+ 1 - 0
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}'")

+ 1 - 1
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