Configuring Build Options
Introduction
This document is to explain the functions of the CmakeLists.txt file which is used to generate the build environment and the write the instructions to the Cmakecache file. The Cmakecache.txt file is then used as a menu for Cmake to generate the executeable file and libraries then prepare a package for distribution.. It is a universal file designed to be used with the three main operating systems of Windows, Apple and Linux
Configuring Build Options
CMAKE_BUILD_TYPE
Possible values: None, Debug, GProf, Valgrind, Release, RelWithDebInfo, MinSizeRel.
Default value: Debug
Debug
This option is enable the debug mode - binary package includes debug characters; this mode is default for developers.
GProf
This option is enable support for GNU gprof profiler - binary package includes debug characters for profiler; this mode is for developers.
Valgrind
This option is enable support for Valgring tool - binary package includes debug characters for memory debugging, memory leak detection, and profiling; this mode is for developers.
Release
This option is enable the release mode - binary package not include debug characters; this mode is default for users.
RelWithDebInfo
This option is enable the release mode - binary package with debug characters; this mode is for developers and users.
MinSizeRel
This option is enable the release mode - binary package with minimized size of package.
CMAKE_INSTALL_PREFIX
This option enable prefix for install of binary package. On Linux default location for software, building from source code, is /usr/local but if you want install software into /opt you need use CMAKE_INSTALL_PREFIX=/opt
CMAKE_C_COMPILER
This option set custom path to C compiler. As example you have installed GCC and Clang; For using Clang compiler you need use CMAKE_C_COMPILER=/usr/bin/clang
CMAKE_CXX_COMPILER
This option set custom path to C++ compiler. As example you have installed GCC and Clang; For using Clang compiler you need use CMAKE_CXX_COMPILER=/usr/bin/clang
OPTIMIZE_INTEL_ATOM
Default value: 0.
This option enable optimization for Atom processors.
BUILD_FOR_MAEMO
Default value: 0.
This option enable building Stellarium for Maemo devices and enable optimization for ARM processors.
ENABLE_NLS
Default value: 1.
This option activate translation with gettext.
ENABLE_SOUND
Default value: 0.
This option activate sound support.
ENABLE_SCRIPTING
Default value: 1.
This option activate scripting feature.
ENABLE_SCRIPT_CONSOLE
Default value: 1.
This option activate the script edit console.
ENABLE_STRATOSCRIPT_COMPAT
Default value: 0.
This option enable the StratoScript compatibility mode.
RELEASE_BUILD
Default value: 1.
This option flag this build as an official release.
BZR_REVISION
This option used together with RELEASE_BUILD option and set Bazaar's revision for package.
BUILD_STATIC_PLUGINS
Default value: 1.
This option define that plugins should be compiled statically and linked to the main program. If this option has value 1 then for BUILD_DYNAMIC_PLUGINS should be value 0.
BUILD_DYNAMIC_PLUGINS
Default value: 0.
This option define that plugins should be compiled dynamically. If this option has value 1 then for BUILD_STATIC_PLUGINS should be value 0.
USE_PLUGIN_*
Few similar options to enable each plugin was built. For example to built Historical Supernovae plugin you need use USE_PLUGIN_SUPERNOVAE=1.
*_HELLOSTELMODULE
Default value: 0.
This option define that the HelloStelModule plugin should be built.
*_ANGLEMEASURE
Default value: 1.
This option define that the Angle Measure plugin should be built.
*_COMPASSMARKS
Default value: 1.
This option define that the Compass Marks plugin should be built.
*_SATELLITES
Default value: 1.
This option define that the Satellites plugin should be built.
*_TELESCOPECONTROL
Default value: 1.
This option define that the Telescope Control plugin should be built.
*_LOGBOOK
Default value: 0.
This option define that the LogBook plugin should be built.
*_OCULARS
Default value: 1.
This option define that the Oculars plugin should be built.
*_SVMT
Default value: 0.
This option define that the SVMT plugin should be built.
*_TEXTUSERINTERFACE
Default value: 1.
This option define that the Text User Interface plugin should be built.
*_TIMEZONECONFIGURATION
Default value: 1.
This option define that the Time Zone Configuration plugin should be built.
*_VIRGO
Default value: 0.
This option define that the VirGO plugin should be built.
*_SOLARSYSTEMEDITOR
Default value: 1.
This option define that the Solar System Editor plugin should be built.
*_SUPERNOVAE
Default value: 1.
This option define that the Historical Supernovae plugin should be built.
*_QUASARS
Default value: 1.
This option define that the Quasars plugin should be built.
*_PULSARS
Default value: 1.
This option define that the Pulsars plugin should be built.
*_EXOPLANETS
Default value: 1.
This option define that the Exoplanets plugin should be built.
OPENGL_MODE
Possible values: Desktop, ES2
Default value: Desktop.
This option define mode to supporting OpenGL version - OpenGL for desktops or OpenGL ES
Build Options
install
This option make installation of binaries and related files (installation of program).
test
This option launched tests from test suite.
macosx_bundle
This option make bundle package for Mac OS X.
package
This option make package for Linux.