Browse Source

FIX: need a 'make clean' before 'make all' otherwise the post-build custom-command are not run (since a lib might be up to date already for ex.).

Sebastien Barre 24 years ago
parent
commit
a2fe7601f0
1 changed files with 15 additions and 0 deletions
  1. 15 0
      Source/cmaketest.cxx

+ 15 - 0
Source/cmaketest.cxx

@@ -110,8 +110,23 @@ int main (int argc, char *argv[])
   else
     {
     // assume a make sytle program
+    // clean first
+    std::string cleanCommand = makeCommand;
+    cleanCommand += " clean";
+    std::cout << "Running make command: " << cleanCommand.c_str() << " ...\n";
+    if (!cmSystemTools::RunCommand(cleanCommand.c_str(), output))
+      {
+      std::cerr << "Error: " << cleanCommand.c_str() << "  execution failed\n";
+      std::cerr << output.c_str() << "\n";
+      // return to the original directory
+      cmSystemTools::ChangeDirectory(cwd.c_str());
+      return 1;
+      }
+    
+    // now build
     makeCommand += " all";
     }
+
   std::cout << "Running make command: " << makeCommand.c_str() << " ...\n";
   if (!cmSystemTools::RunCommand(makeCommand.c_str(), output))
     {