Build the Viewer on macOS
Warning: This page is new and still under construction. Please note problems on the talk page, or send email to Oz |
Getting Development Tools
- Xcode 6.1
- download Xcode 6.1 from Apple, and install the developer command line tools
- CMake
- Install CMake version 3.1 from cmake.org
- Mercurial
- Install the current Mercurial from Selenic
- If you may be contributing code back to the viewer, install the Mercurial Coding Policy hooks
- Autobuild 1.0
- Install the new version of autobuild as described on Autobuild Improvements
Downloading Source Code
The canonical repository is https://hg.secondlife.com/viewer-release
Note: Because using the new tools required source code changes, these instructions do not work with the canonical viewer-release repository. Use https://bitbucket.org/lindenlab/viewer-tools-update |
Installing Proprietary Libraries
Some builds of the the Viewer depends on proprietary libraries (alternative open source libraries are also provided for developers who prefer or are not licensed to use the proprietary libraries). Lindens do not distribute these libraries, so you will need to fetch and install these even if you download the libraries packages. (This is due to licensing restrictions. Don't ask, Lindens already did, and can't get permission. So you do have to get them yourself.)
Fmod
Warning: this section is probably wrong |
Fmod method 1 (using autobuild)
CD to where you want to install the 3p-fmod repository and do:
$ hg clone https://bitbucket.org/lindenlab/3p-fmod $ cd 3p-fmod $ autobuild build --all $ autobuild package
You will see the result looks like:
packing fmod wrote /3p-fmod/fmod-3.75-darwin-20120614.tar.bz2 md5 527422281dbe49abac29380996d41230
CD to your repository root and update autobuild configulation file with the filename and hash just displayed. For the example above, run:
$ autobuild installables edit fmod platform=darwin hash=527422281dbe49abac29380996d41230 url=file:///3p-fmod/fmod-3.75-darwin-20120614.tar.bz2
Note: FMOD does not host the appropriate version any longer. You will need fmodapi375mac.zip from elsewhere; currently, Kittin Ninetails is hosting it on her SkyDrive.
Configuration and Building
Configuring your build with Autobuild
Configuring and building with autobuild works the same on all platforms. Full instructions may be found at Build_Viewer_With_Autobuild.
Example:
autobuild configure -c RelWithDebInfoOS -- -DPACKAGE:BOOL=FALSE -DFMOD:BOOL=TRUE
Command Line Build
autobuild build --no-configure
you can omit the --no-configure option, if you do autobuild will implicitly run the configuration step
Building within Xcode
If you have followed the configure instructions from Build_Viewer_With_Autobuild, the directory build-darwin-i386 will have been created in the root of your source distribution. Inside that directory you will find the SecondLife.xcodeproj project file which can be used with Xcode. When opened it should be configured correctly to build, so just Build and Run.
Running your newly built viewer
Command Line
In your source tree root directory, run:
$build-darwin-i386/newview/configuration-type/Second\ Life.app/Contents/MacOS/Second\ Life
where configuration-type depends on your built configuration ("DebugOS", "ReleaseOS" or "RelWithDebInfoOS").
Running within Xcode
"secondlife-bin" scheme is what you look for.
Using Finder
- Navigate to build-darwin-i386/newview/configuration-type.
- Double click the application.
- You can create and put the alias wherever you find convenient.
Running the Unit Tests
From Xcode, open the project build-darwin-i386/test/test.xcodeproj and select "test" for scheme and run. SecondLife.xcodeproj project also has "test" scheme.
Handling Problems
If you encounter errors or run into problems following the instructions above, please first check whether someone else already had the same issue. A solution might be known already.
You may find the solution in any of these resources:
- This talk page (Report useful experiences there)
- Issue list below (If new issues, please add it to talk page above instead of there)
- Old talk page
- Common compilation problems (Rather old)
- Issue tracker
- Fix it: Modifying CMake Files and please, submit a patch!
Getting Help
Even when no description of your problem has been written down yet, someone might know about it, so get in touch with the community to get help.
- Subscribe to OpenSource-Dev Mailing List (subscribe) and post your question there.
- For faster response, join the general open source viewer discussion and development IRC channel #opensl on freenode. Hopefully a helpful person is online when you ask your question.
Submitting Changes
This is probably far down the road, but if you make changes to the source and want to submit them, see the page about submitting patches.