annotate installer.cpp @ 34:efb73feb1061

Enough MacOS bits to be able to do a quick proof-of-concept test
author Chris Cannam
date Fri, 13 Dec 2019 14:14:57 +0000
parents dd41d7369ed5
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 }