Important
When building, you must install the development version of the runtime requirements, which provide the headers and libraries necessary for compiling and linking. These packages are typically marked with a -dev or -devel suffix.
- Unix-like environment (Linux, macOS, WSL, etc.)
- C compiler
meson1.4.0 or newer (installation via python is recommended)ninja1.8.2 or newerncurseslibraryargtable2- Some common CLI tools
Warning
ncurses and argtable detection is spotty on some systems, and you may need to install
pkg-config in order
for Meson to find them.
Tip
See ci.yml for how astroterm is built and tested on Ubuntu via GitHub Actions.
- Clone the repository and enter the project directory:
git clone https://github.com/da-luce/astroterm && cd astroterm- Download star data:
curl -L -o data/bsc5 https://web.archive.org/web/20231007085824if_/http://tdc-www.harvard.edu/catalogs/BSC5- Build:
meson setup build
meson compile -C buildYou may now run the generated ./build/astroterm binary or add the astroterm command system-wide via meson install -C build. Pressing q or ESC will exit the display.
Warning
Building on Windows is more involved than other platforms.
- Microsoft Visual C++ (Other C compilers currently don't work)
meson1.4.0 or newer (installation via python is recommended)ninja1.8.2 or newerpython(for embedding data during build)pdcurses*argtable2*
Warning
*These libraries must be compiled locally and moved to where Meson expects them to be. See ci.yml for how this is done.
- Clone the repository and enter the project directory:
git clone https://github.com/da-luce/astroterm && cd astroterm- Download star data:
curl -L -o data/bsc5 https://web.archive.org/web/20231007085824if_/http://tdc-www.harvard.edu/catalogs/BSC5- Build:
meson setup build
meson compile -C buildTip
Some steps must be done in the Visual Studio Developer Command Prompt and Developer PowerShell, so it's best to just do everything there.
- City data may be updated by running
filter_cities.py
python3 ./scripts/filter_cities.py- This project follows
-
Create a new release commit, which bumps the program version in
meson.build. Example. -
Tag this commit; this signals the CI workflow to publish the release.
git tag -a vX.Y.Z -m "Release vX.Y.Z"
git push origin vX.Y.ZYou can use the ASCII version of the BSC5 star catalog by downloading and extracting the gzip-compressed file to data/ybsc5 instead of data/bsc5.
Run meson test within the build directory. To get a coverage report, subsequently run ninja coverage.