Browse Source

Merge topic 'cmcmd_touch_err'

100366a267 cmake: add error message when '-E touch' fails

Acked-by: Kitware Robot <[email protected]>
Merge-request: !2671
Brad King 7 years ago
parent
commit
c0aab7a84a

+ 4 - 0
Source/cmcmd.cxx

@@ -691,6 +691,8 @@ int cmcmd::ExecuteCMakeCommand(std::vector<std::string>& args)
     if (args[1] == "touch" && args.size() > 2) {
       for (std::string::size_type cc = 2; cc < args.size(); cc++) {
         if (!cmSystemTools::Touch(args[cc], true)) {
+          std::cerr << "cmake -E touch: failed to update \"";
+          std::cerr << args[cc] << "\".\n";
           return 1;
         }
       }
@@ -701,6 +703,8 @@ int cmcmd::ExecuteCMakeCommand(std::vector<std::string>& args)
     if (args[1] == "touch_nocreate" && args.size() > 2) {
       for (std::string::size_type cc = 2; cc < args.size(); cc++) {
         if (!cmSystemTools::Touch(args[cc], false)) {
+          std::cerr << "cmake -E touch_nocreate: failed to update \"";
+          std::cerr << args[cc] << "\".\n";
           return 1;
         }
       }

+ 1 - 0
Tests/RunCMake/CommandLine/E_touch-nonexistent-dir-result.txt

@@ -0,0 +1 @@
+1

+ 1 - 0
Tests/RunCMake/CommandLine/E_touch-nonexistent-dir-stderr.txt

@@ -0,0 +1 @@
+^cmake -E touch: failed to update ".+/touch-nonexistent-dir/foo"\.$

+ 2 - 0
Tests/RunCMake/CommandLine/RunCMakeTest.cmake

@@ -22,7 +22,9 @@ run_cmake_command(E_echo_append ${CMAKE_COMMAND} -E echo_append)
 run_cmake_command(E_rename-no-arg ${CMAKE_COMMAND} -E rename)
 run_cmake_command(E_server-arg ${CMAKE_COMMAND} -E server --extra-arg)
 run_cmake_command(E_server-pipe ${CMAKE_COMMAND} -E server --pipe=)
+
 run_cmake_command(E_touch_nocreate-no-arg ${CMAKE_COMMAND} -E touch_nocreate)
+run_cmake_command(E_touch-nonexistent-dir ${CMAKE_COMMAND} -E touch "${RunCMake_BINARY_DIR}/touch-nonexistent-dir/foo")
 
 run_cmake_command(E_time ${CMAKE_COMMAND} -E time ${CMAKE_COMMAND} -E echo "hello  world")
 run_cmake_command(E_time-no-arg ${CMAKE_COMMAND} -E time)