]> git.tdb.fi Git - builder.git/blobdiff - source/packagemanager.cpp
Utility function for capturing command output
[builder.git] / source / packagemanager.cpp
index 68189205abb8022ba1f272c0a066e4b1a210fa1f..5cc768a648c6d607507342cf977b2879191bd416 100644 (file)
@@ -102,17 +102,7 @@ string PackageManager::run_pkgconfig(const string &pkg, const string &what)
 
        builder.get_logger().log("auxcommands", format("Running %s", join(argv.begin(), argv.end())));
 
-       ExternalTask task(argv);
-       task.set_stdout(ExternalTask::CAPTURE);
-       task.set_stderr(ExternalTask::IGNORE);
-       task.start();
-       Task::Status status;
-       while((status=task.check())==Task::RUNNING)
-               Time::sleep(10*Time::msec);
-       if(status==Task::ERROR)
-               throw runtime_error(format("pkg-config for package %s failed", pkg));
-
-       return task.get_output();
+       return ExternalTask::run_and_capture_output(argv);
 }
 
 FS::Path PackageManager::get_package_location(const string &name)