add Markdown version of INSTALL

pull/597/head
Lars Næsbye Christensen 2020-01-10 16:45:15 +01:00 committed by Li Linfeng
parent db90b02646
commit 206e2c0aec
1 changed files with 358 additions and 0 deletions

358
INSTALL.md 100644
View File

@ -0,0 +1,358 @@
# Basic installation instructions
Stable version installation on Unix-like systems (e.g. GNU/Linux or *BSD):
* Check your OS repository for already built packages.
* Check https://celestia.space/download.html.
* Check https://bintray.com/celestia if it contains packages for your system.
Stable version installation on Windows and OSX:
* Check https://celestia.space/download.html.
Development snapshots installation on Unix-like systems:
### On Debian 10 and derived systems:
```
curl https://download.opensuse.org/repositories/home:/munix9:/unstable/Debian_10/Release.key | sudo apt-key add -
echo "deb https://download.opensuse.org/repositories/home:/munix9:/unstable/Debian_10/ ./" | sudo tee /etc/apt/sources.list.d/celestia-obs.list
sudo apt update && sudo apt install celestia
```
### On Ubuntu 18.04 and derived systems:
```
curl https://download.opensuse.org/repositories/home:/munix9:/unstable/Ubuntu_18.04/Release.key | sudo apt-key add -
echo "deb https://download.opensuse.org/repositories/home:/munix9:/unstable/Ubuntu_18.04/ ./" | sudo tee /etc/apt/sources.list.d/celestia-obs.list
sudo apt update && sudo apt install celestia
```
### On openSUSE Leap 15.1:
```
sudo zypper addrepo https://download.opensuse.org/repositories/home:munix9:unstable/openSUSE_Leap_15.1/home:munix9:unstable.repo
sudo zypper refresh
sudo zypper install celestia
```
### On openSUSE Tumbleweed:
```
sudo zypper addrepo https://download.opensuse.org/repositories/home:munix9:unstable/openSUSE_Tumbleweed/home:munix9:unstable.repo
sudo zypper refresh
sudo zypper install celestia
```
### On other GNU/Linux distributions:
Try experimental portable AppImage (see https://github.com/CelestiaProject/Celestia/issues/333):
```
wget https://github.com/munix9/Celestia/releases/download/continuous/celestia-qt-continuous-x86_64.AppImage
chmod 755 celestia-qt-continuous-x86_64.AppImage
```
Optionally create a portable, version-independent `$HOME` directory in the same folder as the AppImage file:
```
mkdir celestia-qt.home
```
Development snapshots installation on Windows:
* https://bintray.com/celestia/celestia-builds/snapshots contains
official 32/64 bit development snapshots for Windows.
To build from sources please follow instructions below.
## Common building instructions
We recommend using a copy of our git repository to build your own installation
as it contains some dependencies required for building.
To create the copy install git from your OS distribution repository or from
https://git-scm.com/ and then execute the following commands:
```
git clone https://github.com/CelestiaProject/Celestia
cd Celestia
git submodule update --init
```
If you have fmtlib and Eigen3 installed from other sources (OS repository or
vcpkg) or don't want to build Celestia with SPICE support then you can skip the 3rd step.
## Celestia Install instructions for UNIX
First you need a C++ compiler able to compile C++11 code (GCC 4.8.1 or later,
Clang 3.3 or later), CMake, GNU Make or Ninja.
Then you need to have the following devel components installed before Celestia
will build: OpenGL, glu, glew, theora, libjpeg, and libpng. Optional packages
are fmtlib, Eigen3, Qt5, Gtk2 and glut.
For example on modern Debian-derived system you need to install the following
packages: libglew-dev, libjpeg-dev, libpng-dev, libtheora-dev, libgl1-mesa-dev,
libglu1-mesa-dev. Then you may want to install libeigen3-dev, libfmt-dev;
qtbase5-dev, qtbase5-dev-tools and libqt5opengl5-dev if you want to build with
Qt5 interface; libgtk2.0-dev and libgtkglext1-dev to build with legacy Gtk2
interface; or freeglut3-dev to build with glut interface.
OK, assuming you've collected all the necessary libraries, here's
what you need to do to build and run Celestia:
```
mkdir build
cd build
cmake .. -DENABLE_INTERFACE=ON [*]
make
sudo make install
```
[*] `INTERFACE` must be replaced with one of "`QT`", "`GTK`", or "`GLUT`".
Three interfaces are available for Celestia on Unix-like systems:
- GLUT: minimal interface, barebone Celestia core with no toolbar or menu...
Disabled by default.
- GTK: A full interface with minimal dependencies, adds a menu, a configuration
dialog some other utilities. Legacy interface, may lack some new
features. Disabled by default.
- QT: A full interface with minimal dependencies, adds a menu, a configuration
dialog some other utilities, bookmarks... A preferred option. Enabled by
default, No need to pass -DENABLE_QT=ON.
Starting with version 1.3.1, Lua is the new scripting engine for Celestia,
the old homegrown scripting engine is still available. By default Lua support
is enabled, it can be disabled passing -DENABLE_CELX=OFF to cmake.
Versions 5.1, 5.2 or 5.3 of Lua library is required. On Debian-based systems
either one of liblua5.3-dev, liblua5.2-dev or liblua5.1-dev should be installed
to have Lua support.
To check wether your Celestia has been compiled with Lua support, go to File
-> Open. If you have '*.cel *.celx' in the filter box, then Lua is available
otherwise the filter will contain only '*.cel'.
The GtkGLExt widget that is required in order to build Celestia with Gtk+ may
be downloaded from http://gtkglext.sf.net. Note that depending in your
distribution you may also need other packages containing various files needed
by the build process. For instance, to build under SUSE Linux, you will also
need to have the gtk-devel package installed.
Celestia will be installed into /usr/local by default, with data files landing
in /usr/local/share/celestia, but you may specify a new location with the
following option to cmake: -DCMAKE_INSTALL_PREFIX=/another/path.
## Celestia Install instructions for Windows (MSVC)
Currently to build on Windows you need a Visual Studio 2015 or later, CMake
and vcpkg (*).
Install required packages:
```
vcpkg install libpng libjpeg-turbo gettext lua fmt glew eigen3
```
Install optional packages:
```
vcpkg install qt5 luajit
```
Configure and build 32-bit version:
```
md build32
cd build32
cmake -DCMAKE_TOOLCHAIN_FILE=c:/tools/vcpkg/scripts/buildsystems/vcpkg.cmake ..
cmake --build . -- /maxcpucount:N /nologo
```
Configure and build 64-bit version:
```
md build64
cd build64
cmake -DCMAKE_GENERATOR_PLATFORM=x64 -DCMAKE_TOOLCHAIN_FILE=c:/tools/vcpkg/scripts/buildsystems/vcpkg.cmake ..
cmake --build . -- /maxcpucount:N /nologo
```
Instead of N in /maxcpucount pass a number of CPU cores you want to use during
a build.
If you have Qt5 installed using official Qt installer, then pass parameter
CMAKE_PREFIX_PATH to cmake call used to configure Celestia, e.g.
```
cmake -DCMAKE_PREFIX_PATH=C:\Qt\5.10.1\msvc2015 ..
```
Not supported yet:
- automatic installation using cmake
- using Ninja instead of MSBuild
Notes:
* vcpkg installation instructions are located on
https://github.com/Microsoft/vcpkg
## Celestia Install instructions for Windows (MINGW64), qt-only
It is recommended to build the source with MSYS2
https://www.msys2.org/ .
Do the following in the MINGW64 shell (mingw64.exe).
Install required packages:
```
pacman -S mingw-w64-x86_64-toolchain
pacman -S base-devel
pacman -S git
pacman -S mingw-w64-x86_64-cmake
pacman -S mingw-w64-x86_64-qt5
pacman -S mingw-w64-x86_64-freeglut mingw-w64-x86_64-glew mingw-w64-x86_64-lua
pacman -S mingw-w64-x86_64-libtheora mingw-w64-x86_64-mesa
```
Install optional packages:
```
pacman -S mingw-w64-x86_64-fmt mingw-w64-x86_64-eigen3 mingw-w64-x86_64-luajit
```
Clone the source and go to the source directory.
Configure and build:
```
mkdir build
cd build
cmake .. -G"MSYS Makefiles" -DENABLE_WIN=OFF
mingw32-make.exe -jN
```
Instead of N, pass a number of CPU cores you want to use during a build.
To build in debug configuration, you have to use lld linker instead of the
default linker in gcc.
```
pacman -S mingw-w64-x86_64-lld mingw-w64-x86_64-lldb
```
Follow by:
```
cmake .. -G "MSYS Makefiles" -DENABLE_WIN=OFF -DCMAKE_CXX_FLAGS='-fuse-ld=lld' -DCMAKE_BUILD_TYPE=Debug
```
Then do `mingw32-make.exe`.
## Celestia Install instructions for macOS, qt-only
Currently Qt frontend is the only available option for macOS users building
Celestia from source.
Install the latest Xcode:
You should be able to get Xcode from the Mac App Store.
Install Homebrew
Follow the instructions on https://brew.sh/
Install required packages:
```
brew install cmake cspice fmt gettext libpng lua qt5 jpeg eigen
```
Build GLEW from source (Homebrew's precompiled GLEW has wrong linking path):
```
brew install glew --build-from-source
```
Clone the source and go to the source directory.
Configure and build:
```
mkdir build
cd build
cmake -DENABLE_SPICE=ON ..
make -jN
```
Instead of N, pass a number of CPU cores you want to use during a build.
Install:
```
make install
```
Celestia will be installed into /usr/local by default, with data files landing
in /usr/local/share/celestia, but you may specify a new location with the
following option to cmake: `-DCMAKE_INSTALL_PREFIX=/another/path`.
To build the application bundle, pass -DNATIVE_OSX_APP=ON to the cmake command,
the application bundle will be located in the "build" folder that you previously
created.
## Supported CMake parameters
List of supported parameters (passed as `-DPARAMETER=VALUE`):
Parameter | TYPE | Default | Description
----------------------| ------|---------|--------------------------------------
| CMAKE_INSTALL_PREFIX | path | * | Prefix where to install Celestia
| CMAKE_PREFIX_PATH | path | | Additional path to look for libraries
| LEGACY_OPENGL_LIBS | bool | \*\*OFF | Use OpenGL libraries not GLvnd
| ENABLE_CELX | bool | ON | Enable Lua scripting support
| ENABLE_SPICE | bool | OFF | Enable NAIF kernels support
| ENABLE_NLS | bool | ON | Enable interface translation
| ENABLE_GLUT | bool | OFF | Build simple Glut frontend
| ENABLE_GTK | bool | \*\*OFF | Build legacy GTK2 frontend
| ENABLE_QT | bool | ON | Build Qt frontend
| ENABLE_WIN | bool | \*\*\*ON | Build Windows native frontend
| ENABLE_THEORA | bool | \*\*ON | Support video capture to OGG Theora
| ENABLE_TOOLS | bool | OFF | Build tools for Celestia data files
| ENABLE_TTF | bool | \*\*\*\*OFF | Build with FreeType support
| NATIVE_OSX_APP | bool | OFF | Support native OSX data paths
Notes:
\* /usr/local on Unix-like systems, c:\Program Files or c:\Program Files (x86)
on Windows depending on OS type (32 or 64 bit) and build configuration.
This option effect is overriden by NATIVE_OSX_APP.
\*\* Ignored on Windows systems.
\*\*\* Ignored on Unix-like systems.
\*\*\*\* This option support is not finished yet.
Parameters of type "bool" accept ON or OFF value. Parameters of type "path"
accept any directory.
On Windows systems two additonal options are supported:
- `CMAKE_GENERATOR_PLATFORM` - can be set to x64 on 64-bit Windows to build
64-bit Celestia. To build 32-bit Celestia it should be omitted.
- `CMAKE_TOOLCHAIN_FILE` - location of vcpkg.cmake if vcpkg is used.
Executable files
----------------
As said prevously Celestia provides several user interfaces, accordingly with
interfaces it's built with it has different executable files installed to
${CMAKE_INSTALL_PREFIX}/bin (e.g. with default CMAKE_INSTALL_PREFIX on
Unix-like systems they are installed into `/usr/local/bin`).
Here's the table which provides executable file names accordingly to interface:
Interface | Executable name
|-----------|----------------|
| Qt5 | celestia-qt
| GTK | celestia-gtk
| GLUT | celestia-glut
| WIN | celestia-win