1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-30 08:15:36 +00:00
openmw-tes3mp/components/ogreplugin/ogreplugin.cpp
Nikolay Kasyanov fbe9a94568 bug #348: fixed OS X deployment
just enable CMake option "OPENMW_OSX_DEPLOYMENT" and it will search
plugins inside application bundle instead of Ogre prefix
2012-07-28 01:55:37 +04:00

37 lines
No EOL
980 B
C++

#include "ogreplugin.h"
#include <OgrePrerequisites.h>
#include <OgreRoot.h>
#include <boost/filesystem.hpp>
bool loadOgrePlugin(std::string pluginDir, std::string pluginName, Ogre::Root &ogreRoot) {
#if OGRE_PLATFORM == OGRE_PLATFORM_APPLE
std::ostringstream verStream;
verStream << "." << OGRE_VERSION_MAJOR << "." << OGRE_VERSION_MINOR << "." << OGRE_VERSION_PATCH;
pluginName = pluginName + OGRE_PLUGIN_DEBUG_SUFFIX + verStream.str();
#endif
std::string pluginExt;
#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
pluginExt = ".dll";
#endif
#if OGRE_PLATFORM == OGRE_PLATFORM_APPLE
pluginExt = ".dylib";
#endif
#if OGRE_PLATFORM == OGRE_PLATFORM_LINUX
pluginExt = ".so";
#endif
std::string pluginPath = pluginDir + "/" + pluginName + pluginExt;
std::cout << "loading plugin: " << pluginPath << std::endl;
if (boost::filesystem::exists(pluginPath)) {
ogreRoot.loadPlugin(pluginPath);
return true;
}
else {
return false;
}
}