mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-30 08:15:36 +00:00
fbe9a94568
just enable CMake option "OPENMW_OSX_DEPLOYMENT" and it will search plugins inside application bundle instead of Ogre prefix
37 lines
No EOL
980 B
C++
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;
|
|
}
|
|
} |