From 644556bd855dbe741ea2a7068f9d92d08d53a702 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 29 Jun 2014 10:43:48 +0200 Subject: [PATCH] TextureTools: configurable plugin dir for distancefieldconverter utility. Similarly to magnum-fontconverter utility. --- src/Magnum/TextureTools/distancefieldconverter.cpp | 6 ++++-- .../TextureTools/distancefieldconverterConfigure.h.cmake | 3 +-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Magnum/TextureTools/distancefieldconverter.cpp b/src/Magnum/TextureTools/distancefieldconverter.cpp index e15448bf4..c46b15a17 100644 --- a/src/Magnum/TextureTools/distancefieldconverter.cpp +++ b/src/Magnum/TextureTools/distancefieldconverter.cpp @@ -24,6 +24,7 @@ */ #include +#include #include #include "Magnum/Math/Range.h" @@ -66,6 +67,7 @@ DistanceFieldConverter::DistanceFieldConverter(const Arguments& arguments): Plat .addArgument("output").setHelp("output", "output image") .addOption("importer", "TgaImporter").setHelp("image importer plugin") .addOption("converter", "TgaImageConverter").setHelp("image converter plugin") + .addOption("plugin-dir", MAGNUM_PLUGINS_DIR).setHelpKey("plugin-dir", "DIR").setHelp("plugin-dir", "base plugin dir") .addNamedArgument("output-size").setHelpKey("output-size", "\"X Y\"").setHelp("output-size", "size of output image") .addNamedArgument("radius").setHelpKey("radius", "N").setHelp("radius", "distance field computation radius") .setHelp("Converts black&white image to distance-field representation.") @@ -76,13 +78,13 @@ DistanceFieldConverter::DistanceFieldConverter(const Arguments& arguments): Plat int DistanceFieldConverter::exec() { /* Load importer plugin */ - PluginManager::Manager importerManager(MAGNUM_IMPORTER_PLUGIN_DIR); + PluginManager::Manager importerManager(Utility::Directory::join(args.value("plugin-dir"), "importers/")); if(!(importerManager.load(args.value("importer")) & PluginManager::LoadState::Loaded)) return 1; std::unique_ptr importer = importerManager.instance(args.value("importer")); /* Load converter plugin */ - PluginManager::Manager converterManager(MAGNUM_IMAGECONVERTER_PLUGIN_DIR); + PluginManager::Manager converterManager(Utility::Directory::join(args.value("plugin-dir"), "imageconverters/")); if(!(converterManager.load(args.value("converter")) & PluginManager::LoadState::Loaded)) return 1; std::unique_ptr converter = converterManager.instance(args.value("converter")); diff --git a/src/Magnum/TextureTools/distancefieldconverterConfigure.h.cmake b/src/Magnum/TextureTools/distancefieldconverterConfigure.h.cmake index 8d6b08544..fa22c14a9 100644 --- a/src/Magnum/TextureTools/distancefieldconverterConfigure.h.cmake +++ b/src/Magnum/TextureTools/distancefieldconverterConfigure.h.cmake @@ -23,5 +23,4 @@ DEALINGS IN THE SOFTWARE. */ -#define MAGNUM_IMPORTER_PLUGIN_DIR "${MAGNUM_LIBRARY_INSTALL_DIR}/magnum/importers" -#define MAGNUM_IMAGECONVERTER_PLUGIN_DIR "${MAGNUM_LIBRARY_INSTALL_DIR}/magnum/imageconverters" +#define MAGNUM_PLUGINS_DIR "${MAGNUM_PLUGINS_INSTALL_DIR}"