Browse Source

*converter: join --plugin-dir with a relative search path, not absolute.

Now it finally works again.
pull/556/head
Vladimír Vondruš 4 years ago
parent
commit
7fb63a9434
  1. 4
      src/Magnum/SceneTools/sceneconverter.cpp
  2. 2
      src/Magnum/ShaderTools/shaderconverter.cpp
  3. 6
      src/Magnum/Text/fontconverter.cpp
  4. 4
      src/Magnum/Trade/imageconverter.cpp

4
src/Magnum/SceneTools/sceneconverter.cpp

@ -310,7 +310,7 @@ is specified as well, the IDs reference attributes of the first mesh.)")
PluginManager::Manager<Trade::AbstractImporter> importerManager{
args.value("plugin-dir").empty() ? Containers::String{} :
Utility::Path::join(args.value("plugin-dir"), Trade::AbstractImporter::pluginSearchPaths()[0])};
Utility::Path::join(args.value("plugin-dir"), Trade::AbstractImporter::pluginSearchPaths().back())};
Containers::Pointer<Trade::AbstractImporter> importer = importerManager.loadAndInstantiate(args.value("importer"));
if(!importer) {
@ -1100,7 +1100,7 @@ is specified as well, the IDs reference attributes of the first mesh.)")
/* Load converter plugin */
PluginManager::Manager<Trade::AbstractSceneConverter> converterManager{
args.value("plugin-dir").empty() ? Containers::String{} :
Utility::Path::join(args.value("plugin-dir"), Trade::AbstractSceneConverter::pluginSearchPaths()[0])};
Utility::Path::join(args.value("plugin-dir"), Trade::AbstractSceneConverter::pluginSearchPaths().back())};
/* Assume there's always one passed --converter option less, and the last
is implicitly AnySceneConverter. All converters except the last one are

2
src/Magnum/ShaderTools/shaderconverter.cpp

@ -353,7 +353,7 @@ see documentation of a particular converter for more information.)")
/* Set up a converter manager */
PluginManager::Manager<ShaderTools::AbstractConverter> converterManager{
args.value("plugin-dir").empty() ? Containers::String{} :
Utility::Path::join(args.value("plugin-dir"), ShaderTools::AbstractConverter::pluginSearchPaths()[0])};
Utility::Path::join(args.value("plugin-dir"), ShaderTools::AbstractConverter::pluginSearchPaths().back())};
/* Data passed from one converter to another in case there's more than one */
Containers::Array<char> data;

6
src/Magnum/Text/fontconverter.cpp

@ -164,12 +164,12 @@ int FontConverter::exec() {
/* Font converter dependencies */
PluginManager::Manager<Trade::AbstractImageConverter> imageConverterManager{
args.value("plugin-dir").empty() ? Containers::String{} :
Utility::Path::join(args.value("plugin-dir"), Trade::AbstractImageConverter::pluginSearchPaths()[0])};
Utility::Path::join(args.value("plugin-dir"), Trade::AbstractImageConverter::pluginSearchPaths().back())};
/* Load font */
PluginManager::Manager<Text::AbstractFont> fontManager{
args.value("plugin-dir").empty() ? Containers::String{} :
Utility::Path::join(args.value("plugin-dir"), Text::AbstractFont::pluginSearchPaths()[0])};
Utility::Path::join(args.value("plugin-dir"), Text::AbstractFont::pluginSearchPaths().back())};
Containers::Pointer<Text::AbstractFont> font = fontManager.loadAndInstantiate(args.value("font"));
if(!font) return 1;
@ -177,7 +177,7 @@ int FontConverter::exec() {
(MagnumFontConverter needs TgaImageConverter, for example) */
PluginManager::Manager<Text::AbstractFontConverter> converterManager{
args.value("plugin-dir").empty() ? Containers::String{} :
Utility::Path::join(args.value("plugin-dir"), Text::AbstractFontConverter::pluginSearchPaths()[0])};
Utility::Path::join(args.value("plugin-dir"), Text::AbstractFontConverter::pluginSearchPaths().back())};
converterManager.registerExternalManager(imageConverterManager);
/* Load font converter */

4
src/Magnum/Trade/imageconverter.cpp

@ -363,7 +363,7 @@ key=true; configuration subgroups are delimited with /.)")
PluginManager::Manager<Trade::AbstractImporter> importerManager{
args.value("plugin-dir").empty() ? Containers::String{} :
Utility::Path::join(args.value("plugin-dir"), Trade::AbstractImporter::pluginSearchPaths()[0])};
Utility::Path::join(args.value("plugin-dir"), Trade::AbstractImporter::pluginSearchPaths().back())};
const Int dimensions = args.value<Int>("dimensions");
/** @todo make them array options as well? */
@ -901,7 +901,7 @@ key=true; configuration subgroups are delimited with /.)")
/* Load converter plugin */
PluginManager::Manager<Trade::AbstractImageConverter> converterManager{
args.value("plugin-dir").empty() ? Containers::String{} :
Utility::Path::join(args.value("plugin-dir"), Trade::AbstractImageConverter::pluginSearchPaths()[0])};
Utility::Path::join(args.value("plugin-dir"), Trade::AbstractImageConverter::pluginSearchPaths().back())};
Containers::Pointer<Trade::AbstractImageConverter> converter = converterManager.loadAndInstantiate(args.value("converter"));
if(!converter) {
Debug{} << "Available converter plugins:" << ", "_s.join(converterManager.aliasList());

Loading…
Cancel
Save