User:Jodiah Jensen
HOW I COMPILED SL SOURCE w/ VC++ 2008 Express Edition
CAVEAT: although I was able to successfully build the source using these steps, it hangs after loading the settings
ASSUMPTIONS:
Source version 1.21-r99587
Windows 32bit OS
REQUIREMENTS
Cygwin (make sure that patchutils, flex and bison (all under "devel") are installed)
Python (the cmake scripts specifically EXCLUDE the cygwin version of the Python interpreter in the FindPython.cmake script, see step 3 below)
PREREQUISITES:
SETUP CMAKE:
Download CMAKE 2.4.8 from http://www.cmake.org/files/v2.4/cmake-2.4.8-win32-x86.exe
Install CMAKE
Make sure both CMake and Python are in the windows PATH environment variable
STEP 1
DOWNLOAD SOURCE: http://secondlife.com/developers/opensource/downloads/2008/10/slviewer-src-viewer_1-21-r99587.zip
DOWNLOAD LIBS http://secondlife.com/developers/opensource/downloads/2008/10/slviewer-win32-libs-viewer_1-21-r99587.zip
DOWNLOAD ARTWORK http://secondlife.com/developers/opensource/downloads/2008/10/slviewer-artwork-viewer_1-21-r99587.zip
STEP 2
EXTRACT ALL THREE ZIP FILES TO SAME PATH (no spaces in the path name) ie "D:\SL_SRC\"
this will result in a single folder inside D:\SL_SRC\ called "linden" ("D:\SL_SRC\linden")
TODO: insert directory tree here
STEP 3
RUN develop.py SCRIPT
run a command prompt in the "D:\SL_SRC\linden\indra" path
run the script using "develop.py -G VC90"
NOTE: to get the develop.py script to find the python interpreter when using Python 2.6, I needed to modify the D:\SL_SRC\linden\indra\cmake\Python.cmake file (to include the python path (C:\\Python26\\ on my system) when looking for the python executable) as follows:
find_program(PYTHON_EXECUTABLE NAMES python25.exe python23.exe python.exe NO_DEFAULT_PATH # added so that cmake does not find cygwin python PATHS C:\\Python26\\ [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.5\\InstallPath] [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.4\\InstallPath] [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.3\\InstallPath] )
OUTPUT from develop.py -- Version of viewer is 1.21.6.0 -- Configuring done -- Generating done -- Build files have been written to: D:/SL_SRC/linden/indra/build-VC90 Running 'tools\\vstool\\VSTool.exe --solution build-VC90\\SecondLife.sln --config RelWithDebInfo --startup secondlife-bin' in 'D:\\SL_SRC\\linden\\indra' Editing solution: build-VC90\SecondLife.sln Looking for existing VisualStudio instance... Didn't find open solution, starting new background VisualStudio instance... Reading .sln file version... Using version: VC90... Value cannot be null. Parameter name: type Quitting do to error opening: D:\SL_SRC\linden\indra\build-VC90\SecondLife.sln
NOTE: this appears to be a problem with using VStools with the express version of VC++, I had to manually set the Startup Project, Build Type, and Working directory (see step 5)
STEP 4
place FMOD files in proper places
Copy "fmodapi375win\api\inc\fmod.h" to "linden\libraries\include"
Copy "fmodapi375win\api\inc\fmod_errors.h" to "linden\libraries\include"
Copy "fmodapi375win\api\lib\fmodvc.lib" to "linden\libraries\i686-win32\lib\release" and to "linden\libraries\i686-win32\lib\debug"
Copy "fmodapi375win\api\fmod.dll" to "linden\indra\newview"
STEP 5
OPEN D:\SL_SRC\linden\indra\build-VC90\secondlife.sln in VC++
set secondlife-bin to Startup Project
set the working directory to D:\SL_SRC\indra\newview
select build type RelWithDebInfo
Remove the llkdu.dll.rule entries (three of them) from the copy_win_libs project CMake Rules folder (per the notes from Cristopher Omega at https://wiki.secondlife.com/wiki/Talk:CMake#CMake_and_Visual_Studio_C.2B.2B_2005_Express_Edition
click the green arrow (start debugging)
Build was successful, but the executable doesn't run properly, it hangs , looping through code in the XTREE source file. I suspect this is due to problems with the BOOST libraries and using the 2008 version of VC++ (see Michelle Z's page https://wiki.secondlife.com/wiki/User:Michelle2_Zenovka/cmake#boost_hell ).
I am working on compiling boost 1.36 with VC++2008 EXPRESS to use with the 1.21.6 source code.
REFERENCES
https://wiki.secondlife.com/wiki/CMake
https://wiki.secondlife.com/wiki/Talk:CMake
https://wiki.secondlife.com/wiki/Compiling_the_viewer
https://wiki.secondlife.com/wiki/User:Michelle2_Zenovka/cmake