Skip to content

Latest commit

 

History

History

cspice-sys

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

cspice-sys

Build crates.io docs.rs

Unsafe bindings to the NAIF SPICE Toolkit.

Read the official CSPICE documentation online

Please note this is a complete replacement of the 0.x version of the crate, under a new maintainer

Installation

Firstly, you must have Clang installed and on your PATH to be able to generate the bindings.

If you're on a Unix-like system and have CSPICE installed in the standard paths (libcspice.a in /usr/lib and headers in /usr/include), that version will be used by default.

Alternatively, you can enable the downloadcspice feature on the crate to automatically download CSPICE from NAIF servers when this crate is built. Be aware that this will increase build time and require an internet connection on every clean build.

You can also download CSPICE and tell this crate about where to find it manually: First install the CSPICE toolkit by downloading and extracting the appropriate archive from here.

Then, set the CSPICE_DIR environment variable to point to the extracted cspice directory (which should contain the include and lib directories).

WARNING: On Unix like systems you will likely need to rename lib/cspice.a to lib/libcspice.a so that it can be successfully linked.

Also see the GitHub workflow for examples on how to set this up.

Cross Compilation

You can use the CSPICE_CLANG_TARGET environment variable to override the --target parameter for Clang (when generating bindings).

You can use the CSPICE_CLANG_ROOT environment variable to override the --sysroot parameter for Clang (when generating bindings).