diff --git a/CMakeLists.txt b/CMakeLists.txt index f5a89d4b..412b384f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.0) cmake_policy(SET CMP0017 NEW) # need include() with .cmake project(pip) set(pip_MAJOR 2) -set(pip_MINOR 22) +set(pip_MINOR 23) set(pip_REVISION 0) set(pip_SUFFIX ) set(pip_COMPANY SHS) diff --git a/libs/main/system/piplugin.cpp b/libs/main/system/piplugin.cpp index ed91f87d..93d1ad4b 100644 --- a/libs/main/system/piplugin.cpp +++ b/libs/main/system/piplugin.cpp @@ -21,6 +21,7 @@ #include "piplugin.h" #include "pifile.h" +#include "pidir.h" #include "piincludes_p.h" /*! \class PIPluginLoader @@ -366,6 +367,18 @@ void PIPluginLoader::mergeStatic() { } +PIStringList PIPluginLoader::pluginsDirectories(const PIString & name) { + static PIStringList dl({".", "../plugins", "../PlugIns"}); + PIString ret; + piForeachC (PIString d, dl) { + PIString dp = d + "/" + name; + if (PIDir::isExists(dp)) + ret << dp; + } + return ret; +} + + PIString PIPluginLoader::findLibrary(const PIString & path) { static const PIStringList prefixes({"", "lib"}); static const PIStringList suffixes({"", libExtension()}); diff --git a/libs/main/system/piplugin.h b/libs/main/system/piplugin.h index 9e75c534..968cc2b5 100644 --- a/libs/main/system/piplugin.h +++ b/libs/main/system/piplugin.h @@ -194,6 +194,8 @@ public: //! "to" - plugin scope void mergeStatic(); + static PIStringList pluginsDirectories(const PIString & name); + private: NO_COPY_CLASS(PIPluginLoader) diff --git a/utils/deploy_tool/main.cpp b/utils/deploy_tool/main.cpp index 5f222844..9ec517e6 100644 --- a/utils/deploy_tool/main.cpp +++ b/utils/deploy_tool/main.cpp @@ -682,7 +682,8 @@ int main(int argc, char * argv[]) { PIFile qtc(qt_conf_dir + "qt.conf", PIIODevice::ReadWrite); qtc.clear(); PIString pp = PIDir(qt_conf_dir).relative(qt_plugins_dir); - piCout << pp; + if (!pp.isEmpty() && !pp.endsWith('/')) pp.append('/'); + //piCout << pp; qtc << "[Paths]\n\tPlugins = " << pp << "\n\tTranslations = lang/\n"; } }