Development
Clone this wiki locally
Celestia is open source on all platforms. You can get the code, make modification and run it all by yourself!
Android
Only tested on Mac and Linux. Not working on Windows!
Fetch code
Clone the following repos with git in the same folder.
- https://github.com/celestiamobile/Celestia (Official Celestia repository with additional localization)
- https://github.com/CelestiaProject/CelestiaContent (Data)
- https://github.com/celestiamobile/AndroidCelestia (Android frontend code)
- https://github.com/celestiamobile/CelestiaLocalization (Localization)
Download pre-built libraries
Download built artifacts for third-party libraries from https://dev.azure.com/CelestiaProject/Celestia/_build?definitionId=7 and extract to AndroidCelestia/Celestia/src/main/cpp/dependency/android
so that the path has this structure:
├── include
│ ├── angle
│ ├── breakpad
│ ├── cspice
│ ├── eigen3
│ ├── fmt
│ ├── freetype
│ ├── gettext
│ ├── icu
│ ├── jpeg
│ ├── json
│ ├── libepoxy
│ ├── libpng
│ ├── lua
│ └── meshoptimizer
└── libs
├── arm64-v8a
├── armeabi-v7a
└── x86_64
Copy the dependencies for breakpad to AndroidCelestia/app/src/main/cpp/crash
so that the path has this structure:
├── CMakeLists.txt
├── CrashHandler.cpp
├── include
│ └── breakpad
└── libs
├── arm64-v8a
├── armeabi-v7a
└── x86_64
Install dependencies (If you are building on a Mac)
brew install gettext
Compile and run
Open AndroidCelestia folder in Android Studio and run it as you would for any other Android applications.
iOS / Mac Catalyst
Fetch code
Clone the following repos with git in the same folder.
- https://github.com/celestiamobile/Celestia (Official Celestia repository with additional localization)
- https://github.com/celestiamobile/CelestiaCore (Celestia shim framework for iOS/macOS)
- https://github.com/CelestiaProject/CelestiaContent (Data)
- https://github.com/celestiamobile/MobileCelestia (iOS/Mac Catalyst frontend code)
- https://github.com/celestiamobile/CelestiaLocalization (Localization)
Download pre-built libraries
Download built artifacts for third-party libraries from https://dev.azure.com/CelestiaProject/Celestia/_build?definitionId=7 and extract to libs/dependency/$YOUR_PLATFORM
($YOUR_PLATFORM
could be catalyst/ios/iossim) so that the path has this structure:
├── include
│ ├── angle
│ ├── cspice
│ ├── eigen3
│ ├── fmt
│ ├── freetype
│ ├── gettext
│ ├── icu
│ ├── jpeg
│ ├── libepoxy
│ ├── libpng
│ ├── lua
│ └── meshoptimizer
└── libs
├── cspice.a
├── libGL.a
├── libfmt.a
├── libfreetype.a
├── libicudata.a
├── libicui18n.a
├── libicuuc.a
├── libintl.a
├── libjpeg.a
├── liblua.a
├── libmeshoptimizer.a
└── libpng16.a
Install dependencies
brew install gettext
Compile and run
Open MobileCelestia.xcworkspace in MobileCelestia folder with Xcode and run it as you would for any other iOS/Mac Catalyst applications.
macOS
macOS (AppKit) frontend is no longer supported. Please try to build for Mac Catalyst. See iOS / Mac Catalyst.
Fetch code
Clone the following repos with git in the same folder.
- https://github.com/celestiamobile/Celestia (Official Celestia repository with additional localization)
- https://github.com/celestiamobile/CelestiaCore (Celestia shim framework for iOS/macOS)
- https://github.com/CelestiaProject/CelestiaContent (Data)
- https://github.com/celestiamobile/CelestiaApp (macOS frontend code)
- https://github.com/celestiamobile/CelestiaLocalization (Localization)
Fetch submodules in Celestia and CelestiaCore
cd CelestiaCore
git submodule update --init
Install dependencies
brew install gettext
Compile and run
Open CelestiaApp.xcworkspace in CelestiaApp folder with Xcode and run it as you would for any other macOS applications.
Windows
Fetch code
Clone the following repos with git in the same folder.
- https://github.com/celestiamobile/Celestia (Official Celestia repository with additional localization)
- https://github.com/CelestiaProject/CelestiaContent (Data)
- https://github.com/celestiamobile/CelestiaUWP (Windows frontend code)
- https://github.com/celestiamobile/CelestiaLocalization (Localization)
Cherry-pick the ANGLE compatibility commit
cd Celestia
git cherry-pick origin/angle-main
Install dependencies
vcpkg --triplet=TRIPLET install --recurse libpng libjpeg-turbo gettext lua fmt libepoxy eigen3 freetype cspice meshoptimizer
TRIPLET can be x86-uwp, x64-uwp, arm-uwp, or arm64-uwp.
Prepare resources
Run these commands from the parent directory of the cloned repositories to ensure resources are generated properly.
call CelestiaUWP\CelestiaUWP\copy_general_data.bat %cd%\CelestiaUWP\CelestiaUWP\ %cd%\CelestiaUWP\CelestiaUWP\Resources
call CelestiaUWP\CelestiaUWP\convert_po.bat %cd%\CelestiaUWP\CelestiaUWP\ %cd%\CelestiaUWP\CelestiaUWP\Resources
Compile and run
Open CelestiaUWP.sln in CelestiaUWP folder with Visual Studio and run it as you would for any other UWP applications.