annotate installer.cpp @ 35:d88317090948

Use a script for this (for portability)
author Chris Cannam
date Fri, 13 Dec 2019 16:49:40 +0000
parents efb73feb1061
children f1326adbb33b
rev   line source
Chris@33 1
Chris@33 2 #include <QApplication>
Chris@33 3 #include <QString>
Chris@33 4 #include <QFile>
Chris@33 5 #include <QDir>
Chris@33 6
Chris@33 7 #include <iostream>
Chris@33 8 using namespace std;
Chris@32 9
Chris@32 10 int main(int argc, char **argv)
Chris@32 11 {
Chris@33 12 QApplication app(argc, argv);
Chris@33 13 QDir dir(":out/");
Chris@33 14 auto entries = dir.entryList({ "*.so", "*.dll", "*.dylib" });
Chris@33 15
Chris@33 16 for (auto e: entries) {
Chris@33 17 cerr << e.toStdString() << endl;
Chris@33 18 }
Chris@33 19
Chris@33 20 QString target = QDir::homePath() + "/Library/Audio/Plug-Ins/Vamp/";
Chris@33 21
Chris@33 22 for (auto e: entries) {
Chris@33 23 QFile f(":out/" + e);
Chris@33 24 if (!f.copy(target + e)) {
Chris@33 25 cerr << "Failed to copy " << e.toStdString()
Chris@33 26 << " to target " << (target + e).toStdString() << endl;
Chris@34 27 continue;
Chris@33 28 }
Chris@34 29 if (!QFile::setPermissions(target + e,
Chris@34 30 QFile::ReadOwner | QFile::WriteOwner |
Chris@34 31 QFile::ExeOwner | QFile::ReadGroup |
Chris@34 32 QFile::ReadOther)) {
Chris@34 33 cerr << "Failed to set permissions on " << e.toStdString() << endl;
Chris@34 34 continue;
Chris@34 35 }
Chris@33 36 }
Chris@33 37
Chris@32 38 return 0;
Chris@32 39 }