mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-19 22:23:51 +00:00
Merge remote branch 'corristo/master'
This commit is contained in:
commit
8d60a7f03b
2 changed files with 86 additions and 59 deletions
142
README_Mac.md
142
README_Mac.md
|
@ -1,80 +1,79 @@
|
||||||
NOTE: This README is for ardekantur's Mac branch of OpenMW. A README
|
#Getting OpenMW Working on OS X
|
||||||
for the main branch has yet to be written. If you want to submit one,
|
|
||||||
please send me a message!
|
|
||||||
|
|
||||||
OpenMW
|
## Initial setup
|
||||||
======
|
First of all, clone OpenMW repo.
|
||||||
|
|
||||||
From the [official website][]:
|
$ git clone github.com/zinnschlag/openmw
|
||||||
|
|
||||||
> OpenMW is an attempt to reimplement the popular role playing game
|
Or use your github url if you forked.
|
||||||
Morrowind. It aims to be a fully playable, open source
|
|
||||||
implementation of the game. You must own Morrowind to use OpenMW.
|
|
||||||
|
|
||||||
|
About dependencies: I prefer not to install them globally (i. e. in /usr/local/), so I'm installing them in directory in my home directory. If OpenMW sources is in $HOME/path/openmw, I'm using $HOME/path/libs/root as prefix for boost and other libs.
|
||||||
|
|
||||||
About This Project
|
It's useful to create env var for lib install prefix:
|
||||||
------------------
|
|
||||||
|
$ export OMW_LIB_PREFIX=$HOME/path/libs/root`
|
||||||
|
|
||||||
This specific repository is a branch of OpenMW intended to keep pace
|
Most of libs can be installed from [Homebrew][homebrew]. Only mpg123 needs to be installed from source (due to lack of universal compilation support). I think that some of libs can be installed from MacPorts or Fink too.
|
||||||
with development of the project in order to provide a Mac build for
|
|
||||||
interested parties to contribute. This is not an official, sanctioned
|
|
||||||
branch of the OpenMW project. I will only be able to answer specific
|
|
||||||
questions about getting this project running on Mac OS X, **no other
|
|
||||||
platform**. I will not even be able to guarantee my changes maintain
|
|
||||||
backwards compatibility against builds in other operating systems. You
|
|
||||||
have been warned.
|
|
||||||
|
|
||||||
|
As OpenMW currently only supports i386 architecture on OS X, denendencies also should support it. Set some env vars in current terminal:
|
||||||
|
|
||||||
Getting OpenMW Working
|
|
||||||
----------------------
|
|
||||||
|
|
||||||
1. Clone this repository.
|
|
||||||
2. Note about libs: I prefer not to install them globally (i. e. in /usr/local/), so I installing them in directory in my home directory. If OpenMW sources is in $HOME/path/openmw, I'm using $HOME/path/libs/root as prefix for boost and other libs.
|
|
||||||
It's useful to create env var for lib install prefix:
|
|
||||||
$ export OMW_LIB_PREFIX=$HOME/path/libs/root
|
|
||||||
|
|
||||||
3. First of all, set for current terminal some env vars:
|
|
||||||
$ export CFLAGS="-arch i386"
|
$ export CFLAGS="-arch i386"
|
||||||
$ export CXXFLAGS="-arch i386"
|
$ export CXXFLAGS="-arch i386"
|
||||||
$ export LDFLAGS="-arch i386"
|
$ export LDFLAGS="-arch i386"
|
||||||
All libs will build with correct architecture.
|
|
||||||
If you close your terminal, you should set env vars again before pcoceeding to next steps!
|
|
||||||
|
|
||||||
4. Download [boost][] (tested with 1.45) and install it with the following command:
|
If you close your terminal, you should set env vars again before pcoceeding to next steps!
|
||||||
|
|
||||||
|
## Boost
|
||||||
|
Download [boost][boost] and install it with the following command:
|
||||||
|
|
||||||
$ cd /path/to/boost/source
|
$ cd /path/to/boost/source
|
||||||
$ ./bootstrap.sh --prefix=$OMW_LIB_PREFIX
|
$ ./bootstrap.sh --prefix=$OMW_LIB_PREFIX
|
||||||
$ ./bjam --build-dir=build --layout=versioned \
|
$ ./bjam --build-dir=build --layout=versioned \
|
||||||
--toolset=darwin architecture=x86 address-model=32 \
|
--toolset=darwin architecture=x86 address-model=32 \
|
||||||
--link-shared,static --prefix=$OMW_LIB_PREFIX install
|
--link-shared,static --prefix=$OMW_LIB_PREFIX install
|
||||||
|
|
||||||
|
|
||||||
|
Alternatively you can install boost with homebrew:
|
||||||
|
|
||||||
|
$ brew install boost --universal
|
||||||
|
|
||||||
5. Download [Ogre][] SDK (tested with 1.7.2), unpack it and move
|
I think MacPorts also should support universal build for boost.
|
||||||
`lib/Release/Ogre.framework` into `Library/Frameworks`.
|
|
||||||
|
|
||||||
6. Download [OIS][] and use the XCode project provided in
|
## Ogre
|
||||||
`ois/Mac/XCode-2.2`. Be sure to set your build architecture to
|
Download [Ogre][] SDK (tested with 1.7.3), unpack it somewhere and move
|
||||||
`i386` and your SDK platform to either 10.5 or 10.6. Once it
|
`lib/Release/Ogre.framework` into `/Library/Frameworks`.
|
||||||
builds, move `ois/Mac/XCode-2.2/build/Debug/OIS.framework` to
|
|
||||||
`/Library/Frameworks`.
|
## OIS
|
||||||
|
Download patched [OIS][] and use the XCode project provided. Be sure to set your build architecture to
|
||||||
|
`i386`. Once it built, locate built OIS.framework with Xcode and move it to `/Library/Frameworks`.
|
||||||
|
|
||||||
|
## mpg123
|
||||||
|
Download [MPG 123][mpg123] and build it:
|
||||||
|
|
||||||
7. Download [mpg123][] and build it:
|
|
||||||
$ cd /path/to/mpg123/source
|
$ cd /path/to/mpg123/source
|
||||||
$ ./configure --prefix=$OMW_LIB_PREFIX --disable-debug \
|
$ ./configure --prefix=$OMW_LIB_PREFIX --disable-debug \
|
||||||
--disable-dependency-tracking \
|
--disable-dependency-tracking \
|
||||||
--with-optimization=4 \
|
--with-optimization=4 \
|
||||||
--with-audio=coreaudio \
|
--with-audio=dummy \
|
||||||
--with-default-audio=coreaudio \
|
--with-default-audio=dummy \
|
||||||
--with-cpu=sse_alone \
|
--with-cpu=sse_alone \
|
||||||
$ make install
|
$ make install
|
||||||
|
|
||||||
8. Download [libsndfile][] and build it:
|
## libsndfile
|
||||||
|
Download [libsndfile][] and build it:
|
||||||
|
|
||||||
$ cd /path/to/libsndfile/source
|
$ cd /path/to/libsndfile/source
|
||||||
$ ./configure --prefix=$OMW_LIB_PREFIX \
|
$ ./configure --prefix=$OMW_LIB_PREFIX \
|
||||||
--disable-dependency-tracking
|
--disable-dependency-tracking
|
||||||
$ make install
|
$ make install
|
||||||
|
|
||||||
9. Download [Bullet][] and build it:
|
or install with homebrew:
|
||||||
|
|
||||||
|
$ brew install libsndfile --universal
|
||||||
|
|
||||||
|
## Bullet
|
||||||
|
Download [Bullet][] and build it:
|
||||||
|
|
||||||
$ cd /path/to/bullet/source
|
$ cd /path/to/bullet/source
|
||||||
$ mkdir build
|
$ mkdir build
|
||||||
$ cd build
|
$ cd build
|
||||||
|
@ -87,12 +86,25 @@ Getting OpenMW Working
|
||||||
-G"Unix Makefiles" ../
|
-G"Unix Makefiles" ../
|
||||||
$ make install
|
$ make install
|
||||||
|
|
||||||
10. Generate the Makefile for OpenMW as follows and build OpenMW:
|
or install with homebrew:
|
||||||
|
|
||||||
|
$ brew install bullet --HEAD --universal
|
||||||
|
|
||||||
|
I prefer head because 2.79 has some issue which causes OpenMW to lag. Also you can edit formula and install 2.77, which is stable and haven't mentioned issue.
|
||||||
|
|
||||||
|
## Qt
|
||||||
|
Install [Qt][qt]. Qt SDK distributed by Nokia is not an option because it's 64 bit only, and OpenMW currently doesn't build for 64 bit on OS X. I'm installing it from Homebrew:
|
||||||
|
|
||||||
|
$ brew install qt --universal
|
||||||
|
|
||||||
|
## Run CMake
|
||||||
|
Generate the Makefile for OpenMW as follows and build OpenMW:
|
||||||
|
|
||||||
$ mkdir /path/to/openmw/build/dir
|
$ mkdir /path/to/openmw/build/dir
|
||||||
$ cd /path/to/open/build/dir
|
$ cd /path/to/open/build/dir
|
||||||
$ cmake \
|
$ cmake \
|
||||||
-D CMAKE_OSX_ARCHITECTURES=i386 \
|
-D CMAKE_OSX_ARCHITECTURES=i386 \
|
||||||
-D OGRESDK=/path/to/ogre/sdk \
|
-D OGRE_SDK=/path/to/ogre/sdk \
|
||||||
-D BOOST_INCLUDEDIR=$OMW_LIB_PREFIX/include/boost-1_45 \
|
-D BOOST_INCLUDEDIR=$OMW_LIB_PREFIX/include/boost-1_45 \
|
||||||
-D BOOST_LIBRARYDIR=$OMW_LIB_PREFIX/lib \
|
-D BOOST_LIBRARYDIR=$OMW_LIB_PREFIX/lib \
|
||||||
-D SNDFILE_INCLUDE_DIR=$OMW_LIB_PREFIX/include \
|
-D SNDFILE_INCLUDE_DIR=$OMW_LIB_PREFIX/include \
|
||||||
|
@ -106,27 +118,43 @@ Getting OpenMW Working
|
||||||
-D BULLET_INCLUDE_DIR=$OMW_LIB_PREFIX/include/bullet/ \
|
-D BULLET_INCLUDE_DIR=$OMW_LIB_PREFIX/include/bullet/ \
|
||||||
-G "Unix Makefiles" /path/to/openmw/source/dir
|
-G "Unix Makefiles" /path/to/openmw/source/dir
|
||||||
$ make
|
$ make
|
||||||
You can use -G"Xcode" if you prefer Xcode, or -G"Eclipse CDT4 - Unix Makefiles"
|
|
||||||
if you prefer Eclipse. You also can specify -D CMAKE_BUILD_TYPE=Debug for debug
|
You can use `-G"Xcode"` if you prefer Xcode, or -G"Eclipse CDT4 - Unix Makefiles"
|
||||||
build.
|
if you prefer Eclipse. You also can specify `-D CMAKE_BUILD_TYPE=Debug` for debug
|
||||||
|
build. As for CMake 2.8.7 and Xcode 4.3, Xcode generator is broken. Sadly Eclipse CDT also cannot import generated project at least on my machine.
|
||||||
|
|
||||||
11. Copy your Morrowind `Data Files` directory into the OpenMW build dir
|
If all libs installed via homebrew (excluding mpg123), then command would be even simplier:
|
||||||
with the name `data` or create symlink:
|
|
||||||
$ ln -s /path/to/morrowind/data/files /path/to/openmw/build/dir/data
|
$ cmake \
|
||||||
|
-D CMAKE_OSX_ARCHITECTURES="i386" \
|
||||||
|
-D OGRE_SDK=/path/to/ogre/sdk \
|
||||||
|
-D MPG123_LIBRARY=$OMW_LIB_PREFIX/lib/libmpg123.a \
|
||||||
|
-D MPG123_INCLUDE_DIR=$OMW_LIB_PREFIX/include \
|
||||||
|
-G "Unix Makefiles" /path/to/openmw/source/dir
|
||||||
|
$ make
|
||||||
|
|
||||||
|
Note for users with recent Xcode versions: you must explicitly specify what set of compilers do you use! If not, gcc will be used for C and Clang for C++. Just add this two -D's to command: `-D CMAKE_C_COMPILER=/usr/bin/clang` and `-D CMAKE_CXX_COMPILER=/usr/bin/clang`
|
||||||
|
|
||||||
|
Note for Xcode 4.3 users: you should specify full path to used SDK, because current CMake (2.8.7) couldn't find SDKs inside Xcode app bundle:
|
||||||
|
|
||||||
|
-D CMAKE_OSX_SYSROOT="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk"
|
||||||
|
|
||||||
|
# Run
|
||||||
|
From your build directory run:
|
||||||
|
|
||||||
12. From your build directory run:
|
|
||||||
$ OpenMW.app/Contents/MacOS/openmw
|
$ OpenMW.app/Contents/MacOS/openmw
|
||||||
or:
|
or:
|
||||||
|
|
||||||
$ open OpenMW.app
|
$ open OpenMW.app
|
||||||
Enjoy!
|
Enjoy!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[homebrew]: https://github.com/mxcl/homebrew
|
||||||
[boost]: http://www.boost.org
|
[boost]: http://www.boost.org
|
||||||
[Ogre]: http://www.ogre3d.org
|
[Ogre]: http://www.ogre3d.org
|
||||||
[Bullet]: http://bulletphysics.org
|
[Bullet]: http://bulletphysics.org
|
||||||
[OIS]: http://wgois.sf.net
|
[OIS]: https://github.com/corristo/ois-fork
|
||||||
[mpg123]: http://www.mpg123.de
|
[mpg123]: http://www.mpg123.de
|
||||||
[libsndfile]: http://www.mega-nerd.com/libsndfile
|
[libsndfile]: http://www.mega-nerd.com/libsndfile
|
||||||
[official website]: http://openmw.com
|
[official website]: http://openmw.com
|
||||||
[Will Thimbleby's Ogre Framework]: http://www.thimbleby.net/ogre/
|
[Will Thimbleby's Ogre Framework]: http://www.thimbleby.net/ogre/
|
||||||
|
[qt]: http://qt.nokia.com/
|
|
@ -25,8 +25,7 @@ There's an OpenMW package available in the AUR Repository:
|
||||||
http://aur.archlinux.org/packages.php?ID=21419
|
http://aur.archlinux.org/packages.php?ID=21419
|
||||||
|
|
||||||
OS X:
|
OS X:
|
||||||
TODO add description for OS X
|
Open DMG file, copy OpenMW folder anywhere, for example in /Applications
|
||||||
|
|
||||||
|
|
||||||
BUILD FROM SOURCE
|
BUILD FROM SOURCE
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue