* Additional Saline specific configuration options will be covered as they are added.
* Run tests using `ctest`
* A satisfactory build should yield test results like this (total number of tests may change at any time)
```
100% tests passed, 0 tests failed out of 18
Lastly, perform the following commands
```bash
../configure.sh # execute the configuration script
make -j8install# compile and install the library and tests
ctest -V-j 8 # execute the tests (verbosely)
Total Test time (real) = 0.46 sec
```
>Note:: Testing is enabled by default and has a dependency on[googletest](https://github.com/google/googletest).
Cmake resolves this dependency at configuration time using [FetchContent](https://cmake.org/cmake/help/v3.16/module/FetchContent.html).
The option `-Dsaline_ENABLE_TESTS:BOOL=OFF` will disable testing if desired.
### Enabling Fortran Support
### Language Extension
To enable Fortran, export saline_ENABLE_Fortran=ON.
Wrappers are generated for the [`Thermophysical_Properties`](./src/thermophysical_properties.hh) and the [`Default_Data_Store`](./src/default_data_store.hh) classes.
An experimental feature [`r_kister_data_store`](./src/r_kister_data_store.hh) is also wrapped, but casual users are discouraged from using this feature at this time.
#### Enabling Fortran Support
Fortran wrappers are currently generated during the development cycle. Unfortunately this process is not public at this time.
The Fortran compiler must be 2003 compliant and support the ISO_C_BINDINGS.
```bash
export saline_ENABLE_Fortran=ON # Enable the Fortran library and bindings
../configure.sh # execute the configuration script
make -j8install# compile and install the library and tests
ctest -V-j 8 # execute the tests (verbosely)
To enable Fortran, pass the option `-Dsaline_ENABLE_Fortran:BOOL=ON` as in:
```
cmake \
-DBUILD_SHARED_LIBS:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=RELEASE \
-Dsaline_ENABLE_TESTS:BOOL=ON \
-Dsaline_ENABLE_Fortran:BOOL=ON \
~/saline
```
#### Enabling Python Support
Python Wrappers are generated using [SWIG-4.0.2](https://www.swig.org/download.html).
To enable Python, pass the option `-Dsaline_ENABLE_Python:BOOL=ON` as in:
```
cmake \
-DBUILD_SHARED_LIBS:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=RELEASE \
-Dsaline_ENABLE_TESTS:BOOL=ON \
-Dsaline_ENABLE_Python:BOOL=ON \
~/saline
```
#### Additional Languages
Wrappers are added on an as needed basis. Thanks to [SWIG](https://www.swig.org) this process is relatively painless. Different languages have different requirements though, so mileage varies.
# Contributions
At this time the main development repository is protected. Users with [XCAMS](https://xcams.ornl.gov/xcams/) accounts are welcome to join this project and submit issues/branches to this repository for consideration.
Contributors with UCAMS accounts may be invited to join the development repository directly.
Users without UCAMS or [XCAMS](https://xcams.ornl.gov/xcams/) access should contact mstdb@ornl.gov for guidance on comment submission.