mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-27 03:35:27 +00:00
Mac fix: added local config dir support, app root dir is dir where bundle located
This commit is contained in:
parent
31749fc97b
commit
e48d265b5d
@ -17,9 +17,8 @@ if(DPKG_PROGRAM)
|
|||||||
set(MORROWIND_RESOURCE_FILES "/usr/share/games/openmw/resources/" CACHE PATH "location of OpenMW resources files")
|
set(MORROWIND_RESOURCE_FILES "/usr/share/games/openmw/resources/" CACHE PATH "location of OpenMW resources files")
|
||||||
else()
|
else()
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
# set path inside bundle
|
set(MORROWIND_DATA_FILES "./data" CACHE PATH "location of Morrowind data files")
|
||||||
set(MORROWIND_DATA_FILES "../data" CACHE PATH "location of Morrowind data files")
|
set(MORROWIND_RESOURCE_FILES "./resources" CACHE PATH "location of OpenMW resources files")
|
||||||
set(MORROWIND_RESOURCE_FILES "Contents/Resources/resources" CACHE PATH "location of OpenMW resources files")
|
|
||||||
else()
|
else()
|
||||||
set(MORROWIND_DATA_FILES "data" CACHE PATH "location of Morrowind data files")
|
set(MORROWIND_DATA_FILES "data" CACHE PATH "location of Morrowind data files")
|
||||||
set(MORROWIND_RESOURCE_FILES "resources" CACHE PATH "location of OpenMW resources files")
|
set(MORROWIND_RESOURCE_FILES "resources" CACHE PATH "location of OpenMW resources files")
|
||||||
@ -366,7 +365,7 @@ endif()
|
|||||||
|
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
configure_file(${OpenMW_SOURCE_DIR}/files/plugins.cfg.mac
|
configure_file(${OpenMW_SOURCE_DIR}/files/plugins.cfg.mac
|
||||||
"${APP_BUNDLE_DIR}/Contents/MacOS/plugins.cfg")
|
"${OpenMW_BINARY_DIR}/plugins.cfg")
|
||||||
|
|
||||||
configure_file(${OpenMW_SOURCE_DIR}/files/mac/Info.plist
|
configure_file(${OpenMW_SOURCE_DIR}/files/mac/Info.plist
|
||||||
"${APP_BUNDLE_DIR}/Contents/Info.plist" COPYONLY)
|
"${APP_BUNDLE_DIR}/Contents/Info.plist" COPYONLY)
|
||||||
@ -385,9 +384,6 @@ if (APPLE)
|
|||||||
configure_file(${OGRE_PLUGIN_DIR}/Plugin_ParticleFX.dylib
|
configure_file(${OGRE_PLUGIN_DIR}/Plugin_ParticleFX.dylib
|
||||||
"${APP_BUNDLE_DIR}/Contents/Plugins/Plugin_ParticleFX.dylib" COPYONLY)
|
"${APP_BUNDLE_DIR}/Contents/Plugins/Plugin_ParticleFX.dylib" COPYONLY)
|
||||||
|
|
||||||
configure_file(${OpenMW_SOURCE_DIR}/files/openmw.cfg
|
|
||||||
"${APP_BUNDLE_DIR}/Contents/MacOS/openmw.cfg")
|
|
||||||
|
|
||||||
endif (APPLE)
|
endif (APPLE)
|
||||||
|
|
||||||
|
|
||||||
@ -398,6 +394,7 @@ if (CMAKE_COMPILER_IS_GNUCC)
|
|||||||
endif (CMAKE_COMPILER_IS_GNUCC)
|
endif (CMAKE_COMPILER_IS_GNUCC)
|
||||||
|
|
||||||
# Apple bundling
|
# Apple bundling
|
||||||
|
# TODO REWRITE!
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
set(MISC_FILES
|
set(MISC_FILES
|
||||||
${APP_BUNDLE_DIR}/Contents/MacOS/openmw.cfg
|
${APP_BUNDLE_DIR}/Contents/MacOS/openmw.cfg
|
||||||
|
@ -182,7 +182,7 @@ int main(int argc, char**argv)
|
|||||||
{
|
{
|
||||||
#if OGRE_PLATFORM == OGRE_PLATFORM_APPLE
|
#if OGRE_PLATFORM == OGRE_PLATFORM_APPLE
|
||||||
// set current dir to bundle path
|
// set current dir to bundle path
|
||||||
boost::filesystem::path bundlePath = boost::filesystem::path(Ogre::macBundlePath());
|
boost::filesystem::path bundlePath = boost::filesystem::path(Ogre::macBundlePath()).parent_path();
|
||||||
boost::filesystem::current_path(bundlePath);
|
boost::filesystem::current_path(bundlePath);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
#include <OSX/macUtils.h>
|
#include <OSX/macUtils.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if OGRE_PLATFORM == OGRE_PLATFORM_LINUX
|
#if OGRE_PLATFORM == OGRE_PLATFORM_LINUX || OGRE_PLATFORM == OGRE_PLATFORM_APPLE
|
||||||
#include <stdlib.h> //getenv
|
#include <stdlib.h> //getenv
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -19,7 +19,9 @@ std::string Files::getPath (PathTypeEnum parType, const std::string parApp, cons
|
|||||||
if (parType==Path_ConfigGlobal)
|
if (parType==Path_ConfigGlobal)
|
||||||
{
|
{
|
||||||
#if OGRE_PLATFORM == OGRE_PLATFORM_APPLE
|
#if OGRE_PLATFORM == OGRE_PLATFORM_APPLE
|
||||||
theBasePath = Ogre::macBundlePath() + "/Contents/MacOS/"; //FIXME do we have global/local with OSX?
|
boost::filesystem::path path(Ogre::macBundlePath());
|
||||||
|
path = path.parent_path();
|
||||||
|
theBasePath = path.string() + "/";
|
||||||
#elif OGRE_PLATFORM == OGRE_PLATFORM_LINUX
|
#elif OGRE_PLATFORM == OGRE_PLATFORM_LINUX
|
||||||
theBasePath = "/etc/"+parApp+"/";
|
theBasePath = "/etc/"+parApp+"/";
|
||||||
#else
|
#else
|
||||||
@ -29,9 +31,7 @@ std::string Files::getPath (PathTypeEnum parType, const std::string parApp, cons
|
|||||||
}
|
}
|
||||||
else if (parType==Path_ConfigUser)
|
else if (parType==Path_ConfigUser)
|
||||||
{
|
{
|
||||||
#if OGRE_PLATFORM == OGRE_PLATFORM_APPLE
|
#if OGRE_PLATFORM == OGRE_PLATFORM_LINUX || OGRE_PLATFORM == OGRE_PLATFORM_APPLE
|
||||||
theBasePath = Ogre::macBundlePath() + "/Contents/MacOS/"; //FIXME do we have global/local with OSX?
|
|
||||||
#elif OGRE_PLATFORM == OGRE_PLATFORM_LINUX
|
|
||||||
const char* theDir;
|
const char* theDir;
|
||||||
if ((theDir = getenv("OPENMW_HOME")) != NULL)
|
if ((theDir = getenv("OPENMW_HOME")) != NULL)
|
||||||
{
|
{
|
||||||
@ -57,5 +57,6 @@ std::string Files::getPath (PathTypeEnum parType, const std::string parApp, cons
|
|||||||
}
|
}
|
||||||
|
|
||||||
theBasePath.append(parFile);
|
theBasePath.append(parFile);
|
||||||
|
std::cout << "theBasePath is " << theBasePath << std::endl;
|
||||||
return theBasePath;
|
return theBasePath;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user