deploy_tool "qt.conf" support

This commit is contained in:
2021-04-16 21:21:18 +03:00
parent b38171b710
commit 2b28a46aae

View File

@@ -67,7 +67,7 @@ void usage() {
"[-p <qt_plugins>] [-s <search_path>] [--ignore <libs>] [-S <styles>] "
"[-l <ldd>] [-D <dpkg>] [--dpkg-workdir <d>] [-L <readelf> | -W <objdump> | -M <otool>] "
"[--name-tool <pathS>] [-d <depth>] [-q <qtdir>] [-a <add_libs>] [-S <styles>] "
"[-P <platforms>] [--qt-plugins <d>] [--qt-modules <l>] -o <out_path> <file> [<file2> ...]\"" << NewLine;
"[-P <platforms>] [--qt-plugins <d>] [--qt-modules <l>] [--qt-conf-dir <d>] -o <out_path> <file> [<file2> ...]\"" << NewLine;
piCout << Green << Bold << "Details:";
piCout << Bold << "Debug control";
piCout << "-h, --help " << Green << "- display this message and exit";
@@ -93,6 +93,7 @@ void usage() {
piCout << "-P <platforms> " << Green << "- set Qt platforms (e.g. \"win,mini\"), default by host system";
piCout << "--qt-plugins <d> " << Green << "- set Qt plugins description";
piCout << "--qt-modules <list>" << Green << "- additional Qt modules, may be separated by \"" DELIM "\" (e.g. \"Sql" DELIM "Xml\")";
piCout << "--qt-conf-dir <dir>" << Green << "- dir where place \"qt.conf\", if empty place to out_path";
piCout << "";
piCout << Bold << "Output control";
piCout << "-o <out_path> " << Green << "- path for libraries copy to";
@@ -130,7 +131,7 @@ QtDep qt_deps[] = {
int depth = 8;
bool fake = false, is_ldd = true, is_deps = false, need_qt = false, make_qt_format = true;
PIString ldd, readelf, objdump, otool, dpkg, nametool, strip, out_dir, qt_dir, out_plugins_dir, dpkg_workdir;
PIString qt_pref, qt_suff;
PIString qt_pref, qt_suff, qt_conf_dir;
PIStringList styles, lib_dirs, add_libs, platforms, sqldrivers, input_files, plugin_libs, qt_add_libs;
PISet<PIString> all_libs, miss_libs, all_deps, frameworks, framework_libs, miss_frameworks, qt_plugins, ignore_libs, qt_libs;
PIMap<PIString, PIStringList> qt_filters;
@@ -506,6 +507,7 @@ int main(int argc, char * argv[]) {
cli.addArgument("Platforms", true);
cli.addArgument("qt-plugins", PIChar('\0'), true);
cli.addArgument("qt-modules", PIChar('\0'), true);
cli.addArgument("qt-conf-dir", PIChar('\0'), true);
cli.addArgument("ldd", true);
cli.addArgument("Lreadelf", true);
cli.addArgument("Wobjdump", true);
@@ -613,6 +615,9 @@ int main(int argc, char * argv[]) {
qt_filters["styles" ] = styles ;
qt_add_libs = cli.argumentValue("qt-modules").split(DELIM);
qt_conf_dir = cli.argumentValue("qt-conf-dir").trim();
if (qt_conf_dir.isEmpty()) qt_conf_dir = out_dir;
if (!qt_conf_dir.endsWith("/")) qt_conf_dir += "/";
need_qt = !qt_add_libs.isEmpty();
auto it = qt_filters.makeIterator();
@@ -674,8 +679,14 @@ int main(int argc, char * argv[]) {
}
}
}
if (need_qt_plugins)
if (need_qt_plugins) {
procQt();
if (!ldd.isEmpty() || !readelf.isEmpty()) { // qt.conf for Linux
PIFile qtc(qt_conf_dir + "qt.conf", PIIODevice::ReadWrite);
qtc.clear();
qtc << "[Paths]\n\tPlugins = lib/\n\tTranslations = lang/\n";
}
}
}
#ifdef WINDOWS