-
Notifications
You must be signed in to change notification settings - Fork 2
Development
Celestia is open source on all platforms. You can get the code, make modification and run it all by yourself!
Only tested on Mac and Linux. Not working on Windows!
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 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
│ ├── boost
│ ├── cspice
│ ├── eigen3
│ ├── fmt
│ ├── freetype
│ ├── gettext
│ ├── icu
│ ├── jpeg
│ ├── json
│ ├── libepoxy
│ ├── libpng
│ ├── libzip
│ ├── luajit
│ └── meshoptimizer
└── libs
├── arm64-v8a
├── armeabi-v7a
└── x86_64
Building on macOS:
brew install gettext gperf
Building on Linux, please use the package manager that comes with your system.
Run these commands from the parent directory of the cloned repositories to ensure source files are generated properly.
sh AndroidCelestia/app/run_gperf.sh Celestia
sh CelestiaCore/downsize_textures.sh
Open AndroidCelestia folder in Android Studio and run it as you would for any other Android applications.
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 built artifacts for third-party libraries from https://dev.azure.com/CelestiaProject/Celestia/_build?definitionId=7 and extract to libs/dependency
under CelestiaCore repo so that the path has this structure:
├── angle.xcframework
├── boost.xcframework
├── cspice.xcframework
├── eigen3.xcframework
├── fmt.xcframework
├── freetype.xcframework
├── libintl.xcframework
├── icu.xcframework
├── jpeg.xcframework
├── libepoxy.xcframework
├── libpng.xcframework
├── libzip.xcframework
├── luajit.xcframework
└── meshoptimizer.xcframework
brew install gettext gperf
Run these commands from the parent directory of the cloned repositories to ensure source files are generated properly.
sh CelestiaCore/run_gperf.sh Celestia
sh CelestiaCore/downsize_textures.sh
Open MobileCelestia.xcworkspace in MobileCelestia folder with Xcode and run it as you would for any other iOS/Mac Catalyst applications.
macOS (AppKit) frontend is no longer supported. Please try to build for Mac Catalyst. See iOS / Mac Catalyst.
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
brew install gettext
Open CelestiaApp.xcworkspace in CelestiaApp folder with Xcode and run it as you would for any other macOS applications.
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)
cd Celestia
git apply ../CelestiaUWP/patches/angle/celestia.patch
You need to use VCPKG from https://github.com/celestiamobile/vcpkg with branch celestia to install correct dependencies.
vcpkg --triplet=TRIPLET install --recurse libpng libjpeg-turbo gettext luajit fmt eigen3 freetype[core] cspice libzip[core] meshoptimizer miniaudio boost-container boost-smart-ptr sentry-native
TRIPLET can be either x64-windows or or arm64-windows.
Run these commands from the parent directory of the cloned repositories to ensure source files and resources are generated properly.
call CelestiaUWP\scripts\copy_general_data.bat %cd%\CelestiaUWP %cd%\CelestiaUWP\CelestiaWinUI\Resources
call CelestiaUWP\scripts\convert_po.bat %cd%\CelestiaUWP %cd%\CelestiaUWP\CelestiaWinUI\Resources
call CelestiaUWP\scripts\run_gperf.bat %cd%\CelestiaUWP
call CelestiaUWP\scripts\downsize_textures.bat %cd%\CelestiaUWP
In Visual Studio, Tools, Options, NuGet Package Manager, Package Sources, add a source with name celestia-dependencies
and source https://pkgs.dev.azure.com/CelestiaProject/Celestia/_packaging/celestia-dependencies/nuget/v3/index.json
.
Open CelestiaUWP.sln in CelestiaUWP folder with Visual Studio and run it as you would for any other WinUI applications.