Difference between revisions of "User:Michelle2 Zenovka/cmake-flags"

From Second Life Wiki
Jump to navigation Jump to search
Line 61: Line 61:
|-
|-
|}
|}
== The Debian Way ==
The debian rules Makefile, invokes cmake as :-
cmake -DUNATTENDED:BOOl=FALSE -DSTANDALONE:BOOL=TRUE \
        -DCMAKE_BUILD_TYPE:STRING=RELWITHDEBINFO -DSERVER:BOOL=FALSE \
        -DVIEWER:BOOL=TRUE -DMOZLIB:BOOL=true -DINSTALL:BOOL=TRUE \
        -DAPP_SHARE_DIR:STRING=/usr/share/omvviewer/ \
        -DAPP_BINARY_DIR:STRING=/usr/games/ \
        -DCMAKE_INSTALL_PREFIX:STRING=debian/ \
        -DBINARY_NAME:STRING=omvviewer \
        -DOPENAL:BOOL=TRUE \

Revision as of 02:14, 7 September 2008

back to: User:Michelle2_Zenovka/cmake

Intro

Normaly develop.py will bootstrap the actual cmake process for you, but you may wish to override certain operations. The Debian build for example does not use develop.py but calls cmake directly.

The typical invocation of cmake will look like the following :-

cmake -G "Visual Studio 7 .NET 2003" -DUNATTENDED:BOOl=FALSE -DSTANDALONE:BOOL=FALSE "" "c:\\secondlife\\Release\\release\\indra

Its also possible to specify variables to be set when calling develop.py with the configure parameter eg :-

develop.py configure -DMYVARIABLE:BOOL=TRUE

Generators

The -G option of cmake specifies the generator to be used (the target to build project file for). The Secondlife viewer cmake currently supports the following targets :-

Windows

  • VC71
  • VC2003 (default)
  • VC80 (VS2005)
  • VC90 (VS2008)

Linuxoids

  • Unix Makefiles (default)
  • KDevelop3

Mac

  • Xcode
  • Unix Makefiles (default) (WARNING: you probably don't want makefiles, and need to specify -G Xcode to avoid them!)

Variables

cmake variables are passed on the command line with the -D option, followed by the variable name, a seperation colon, the type of variable then =value for example :-

-DSTANDALONE:BOOL=FALSE

Variable name STANDALONE

Type BOOL

value FALSE

There are a whole bunch of useful variables that can be set to control the cmake building process, some of these are listed below (feel free to add more)

STANDALONE BOOL Sets the build to standalone mode, if enabled the build will try to use system provided libraries instead of the ones from the libs tarball.
UNATTENDED BOOL Normally set to false, Internal option for Linden Labs building???
INSTALL BOOL Enable Unix install target
INSTALL_PREFIX STRING (Unix install target) Installation directory for read-only shared files
INSTALL_LIBRARY_DIR STRING (Unix install target) Installation directory for binaries
INSTALL_SHARE_DIR STRING (Unix install target) Installation directory for read-only data files
FMOD_SDK_DIR STRING Set location of FMOD API files to save copying into build tree


The Debian Way

The debian rules Makefile, invokes cmake as :-

cmake -DUNATTENDED:BOOl=FALSE -DSTANDALONE:BOOL=TRUE \
       -DCMAKE_BUILD_TYPE:STRING=RELWITHDEBINFO -DSERVER:BOOL=FALSE \
       -DVIEWER:BOOL=TRUE -DMOZLIB:BOOL=true -DINSTALL:BOOL=TRUE \
       -DAPP_SHARE_DIR:STRING=/usr/share/omvviewer/ \
       -DAPP_BINARY_DIR:STRING=/usr/games/ \
       -DCMAKE_INSTALL_PREFIX:STRING=debian/ \
       -DBINARY_NAME:STRING=omvviewer \
       -DOPENAL:BOOL=TRUE \