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) http://www.cygwin.com/
Python (the cmake scripts specifically EXCLUDE the cygwin version of the Python interpreter, in the FindPython.cmake script, see step 3 below)
Get Python here: http://www.python.org/download/
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' as 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 Zenovka'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