]> git.tdb.fi Git - builder.git/blobdiff - source/externalaction.cpp
Use package directory as work dir for ExternalActions and make filename arguments...
[builder.git] / source / externalaction.cpp
index de799e4c550877e91927d8b85bcd5596d2b9b3f0..54c9acc1274fed39f2b01c79aafeabdaa8d6d4bd 100644 (file)
@@ -1,5 +1,13 @@
+/* $Id$
+
+This file is part of builder
+Copyright © 2006-2007 Mikko Rasa, Mikkosoft Productions
+Distributed under the LGPL
+*/
+
 #include <sys/wait.h>
 #include <iostream>
+#include <msp/path/utils.h>
 #include "builder.h"
 #include "externalaction.h"
 
@@ -62,6 +70,8 @@ void ExternalAction::launch()
                                argv_[j++]=strdup(i->c_str());
                        argv_[j]=0;
 
+                       if(!work_dir.empty())
+                               chdir(work_dir);
                        execvp(argv_[0], argv_);
                        cout<<"Couldn't execute "<<argv.front()<<'\n';
                        exit(1);