8int main(
int argc,
char **argv) {
9 QCoreApplication application(argc, argv);
10 QCoreApplication::setApplicationName(QStringLiteral(
"create_acmxvk_source_manifest"));
11 QCoreApplication::setApplicationVersion(QStringLiteral(
"1.0"));
13 QCommandLineParser parser;
14 parser.setApplicationDescription(QStringLiteral(
"Create an ACMXVK source library.json from Vulkan GLSL "
15 "fragment and compute sources."));
16 parser.addHelpOption();
17 parser.addVersionOption();
18 const QCommandLineOption rootOption(QStringList{QStringLiteral(
"r"), QStringLiteral(
"root")}, QStringLiteral(
"Shader source directory to scan recursively."), QStringLiteral(
"directory"));
19 const QCommandLineOption outputOption(QStringList{QStringLiteral(
"o"), QStringLiteral(
"output")}, QStringLiteral(
"Manifest path (defaults to ROOT/library.json)."), QStringLiteral(
"file"));
20 parser.addOption(rootOption);
21 parser.addOption(outputOption);
22 parser.process(application);
24 if (!parser.isSet(rootOption))
30 QTextStream(stderr) <<
"Error: " << error <<
'\n';
bool create_acmxvk_source_manifest(const QString &rootDirectory, const QString &outputPath, AcmxvkSourceManifestResult &result, QString &error)
Scan an ACMXVK source tree and atomically generate its library.json.