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

+

First part of 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 main operating systems of Windows, Mac OS X, Linux and BSD.

+

+

You can use configuring build options as CLI parameters for CMake. For example next command configure Stellarium for building binary (development edition) for Windows in Release mode which based on revision 5520:

Introduction

First part of 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 main operating systems of Windows, Mac OS X, Linux and BSD.

You can use configuring build options as CLI parameters for CMake. For example next command configure Stellarium for building binary (development edition) for Windows in Release mode which based on revision 5520:

Second part of this document is to explain the functions for the make command.

Configuring Build Options

These are the options that can be user set and will be written to the cmakecache.txt file to personalise the software package. The default file is generated by the cmakelist.txt and written to the build folder. It can be edited with a text editor at any time to make specific changes to the compiling routine.

Information contained in the cmakecache.txt file will be used to generate the cmake_install.cmake file that will be specific to the users system and set the install parameters for the package generation.

BUILD_FOR_MAEMO

Default value: 0.

This option enables building Stellarium for Maemo devices and also enables optimization for ARM processors.

BUILD_STATIC_PLUGINS

Default value: 1.

This option defines 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 defines that plugins should be compiled dynamically. If this option has value 1 then for BUILD_STATIC_PLUGINS should be value 0.

BZR_REVISION

This option is used together with RELEASE_BUILD option and sets Bazaar's revision for package.

CMAKE_BUILD_TYPE

Debug

This option enables the debug mode - binary package includes debug characters; this mode is the default for developers.

GProf

This option enables support for GNU gprof profiler - binary package includes debug characters for profiler; this mode is for developers.

Valgrind

This option enables 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 enables the release mode - binary package does not include debug characters; this mode is the default for users.

RelWithDebInfo

This option enables the release mode - binary package with debug characters; this mode is for developers and users.

MinSizeRel

This option is enabled in the release mode - binary package with minimized size of package.

CMAKE_INSTALL_PREFIX

This option sets a prefix for the installation of the binary package location. Used on Linux to set the location for the software installation, building from source code, the default location is /usr/local but if you want to install software elsewhere such as into /opt you need use CMAKE_INSTALL_PREFIX=/opt

CMAKE_C_COMPILER

This option sets a custom path to C compiler. For example if you have installed GCC and Clang; and wish to use the Clang compiler you need use CMAKE_C_COMPILER=/usr/bin/clang

CMAKE_CXX_COMPILER

This option sets a custom path to the C++ compiler. For example; if you have installed GCC and Clang; to use the Clang compiler you need use CMAKE_CXX_COMPILER=/usr/bin/clang

ENABLE_NLS

Default value: 1.

This option activates translation with gettext.

ENABLE_SOUND

Default value: 0.

This option activates sound support.The default value is 0 because sound is not available on all platforms and may require 3rd party software.

ENABLE_SCRIPTING

Default value: 1.

This option activates the scripting feature.

ENABLE_SCRIPT_CONSOLE

Default value: 1.

This option activates the script edit console.

ENABLE_STRATOSCRIPT_COMPAT

Default value: 0.

This option enable the StratoScript compatibility mode. If set to 1 many of the old *.sts scripts can be used.

GUI_MODE

Possible values: Standard, None, External

Default value: Standard.

This option set a type of GUI for using in Stellarium.

OPENGL_MODE

Possible values: Desktop, ES2

Default value: Desktop.

This option defines mode to supporting OpenGL version - OpenGL for desktops or OpenGL ES

OPTIMIZE_INTEL_ATOM

Default value: 0.

This option enables optimization for Atom processors.

RELEASE_BUILD

Default value: 1.

This option flags the build as an official release.

STELLARIUM_SPLASH

Possible values: Development, ReleaseCandidate, Release

Default value: Development.

This option set the splash screen for Stellarium.

USE_PLUGIN_*

This option is used to build the desired plugin from source. There will be one entry for each plugin being built. For example to build the Historical Supernovae plugin you need use USE_PLUGIN_SUPERNOVAE=1.

Examples of the current default settings;

*_HELLOSTELMODULE

Default value: 0.

This option defines that the HelloStelModule plugin should be built.

*_ANGLEMEASURE

Default value: 1.

This option defines that the Angle Measure plugin should be built.

*_COMPASSMARKS

Default value: 1.

This option defines that the Compass Marks plugin should be built.

*_SATELLITES

Default value: 1.

This option defines that the Satellites plugin should be built.

*_TELESCOPECONTROL

Default value: 1.

This option defines that the Telescope Control plugin should be built.

*_LOGBOOK

Default value: 0.

This option defines that the LogBook plugin should be built.

*_OCULARS

Default value: 1.

This option defines that the Oculars plugin should be built.

*_SVMT

Default value: 0.

This option defines that the SVMT plugin should be built. Note: special dependancies and source are required for this option

*_TEXTUSERINTERFACE

Default value: 1.

This option defines that the Text User Interface plugin should be built.

*_TIMEZONECONFIGURATION

Default value: 1.

This option defines that the Time Zone Configuration plugin should be built.

*_VIRGO

Default value: 0.

This option defines that the VirGO plugin should be built. Note: special dependancies and source are required for this option

*_SOLARSYSTEMEDITOR

Default value: 1.

This option defines that the Solar System Editor plugin should be built.

*_SUPERNOVAE

Default value: 1.

This option defines that the Historical Supernovae plugin should be built.

*_QUASARS

Default value: 1.

This option defines that the Quasars plugin should be built.

*_PULSARS

Default value: 1.

This option defines that the Pulsars plugin should be built.

*_EXOPLANETS

Default value: 1.

This option defines that the Exoplanets plugin should be built.

Build Options

install

This option make installation of binaries and related files (installation of program).