Second Life Chooses CMake as its Build System
Linden Labs (http://lindenlab.com/), maker of the popular 3-D virtual world Second Life, has chosen CMake as its new build tool. Linden Lab switched to CMake for building the Second Life viewer (starting with version 1.21)because CMake simplified the cross-platform makefile maintenance process and enabled the company to branch out further into open source development.
“A great technology choice that our community helped us make was moving to CMake, a cross-platform build tool, which makes it much simpler to maintain makefiles for many different platforms.” The developer community found Linden’s old configuration system limited and frustrating, and Lanphier credits the persistence of community member Callum Lerwick with leading to the CMake solution.
CMake has the advantage of generating per-platform build files. On Linux, it will generate Makefiles and KDevelop project files. On OS X, it will generate Makefiles and Xcode project files. On Windows, it will generate Makefiles (for nmake) and Visual Studio project files. The advantage is that all of the “smarts” stay in the CMake files, so there’s just one authoritative source of build knowledge. This means that people can use the development environment they prefer without having to worry so much about breaking other people’s builds. Because CMake files are plain text, merging is easy, as is maintaining experimental patches. By adopting open source development standards and making the Second Life Viewer source code available, Linden Labs was able to accelerate their software testing and integration processes.
CMake is a cross-platform, open-source build system comprised of a family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files. CMake generates native makefiles and workspaces that can be used in the compiler environment of your choice.
About Second Life and Linden Lab:
Second Life is a 3D online world with a rapidly growing population from 100 countries around the globe, in which the Residents themselves create and build the world, which includes homes, vehicles, nightclubs, stores, landscapes and clothing. The Second Life Grid is a sophisticated development platform created by Linden Lab, a company founded in 1999 by Philip Rosedale, to create a revolutionary new form of shared 3D experience. The former CTO of RealNetworks, Rosedale pioneered the development of many of today’s streaming media technologies, including RealVideo. In April 2003, noted software pioneer Mitch Kapor, founder of Lotus Development Corporation, was named Chairman. Based in San Francisco, Linden Lab employs a senior team bringing together deep expertise in physics, 3D graphics and networking. Note to editors: Second Life® and Linden Lab® are registered trademarks of Linden Research, Inc.