Jelajahi Sumber

Only set the property if the property was given

Ben Boeckel 14 tahun lalu
induk
melakukan
d94f9c6487
1 mengubah file dengan 6 tambahan dan 5 penghapusan
  1. 6 5
      Source/cmAddTestCommand.cxx

+ 6 - 5
Source/cmAddTestCommand.cxx

@@ -74,8 +74,7 @@ bool cmAddTestCommand::HandleNameMode(std::vector<std::string> const& args)
 {
   std::string name;
   std::vector<std::string> configurations;
-  std::string working_directory = this->Makefile->GetCurrentOutputDirectory();
-  bool working_directory_set = false;
+  std::string working_directory;
   std::vector<std::string> command;
 
   // Read the arguments.
@@ -109,13 +108,12 @@ bool cmAddTestCommand::HandleNameMode(std::vector<std::string> const& args)
       }
     else if(args[i] == "WORKING_DIRECTORY")
       {
-      if(working_directory_set)
+      if(!working_directory.empty())
         {
         this->SetError(" may be given at most one WORKING_DIRECTORY.");
         return false;
         }
       doing = DoingWorkingDirectory;
-      working_directory_set = true;
       }
     else if(doing == DoingName)
       {
@@ -172,7 +170,10 @@ bool cmAddTestCommand::HandleNameMode(std::vector<std::string> const& args)
   cmTest* test = this->Makefile->CreateTest(name.c_str());
   test->SetOldStyle(false);
   test->SetCommand(command);
-  test->SetProperty("WORKING_DIRECTORY", working_directory.c_str());
+  if(!working_directory.empty())
+    {
+    test->SetProperty("WORKING_DIRECTORY", working_directory.c_str());
+    }
   this->Makefile->AddTestGenerator(new cmTestGenerator(test, configurations));
 
   return true;