* Additional Saline specific configuration options will be covered as they are added.
* Run tests using `ctest`
* Run tests using `ctest --test-dir ${saline_bld}`
* 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
@@ -102,12 +129,19 @@ To enable Fortran, pass the option `-Dsaline_ENABLE_Fortran:BOOL=ON` as in:
-DCMAKE_BUILD_TYPE:STRING=RELEASE \
-Dsaline_ENABLE_TESTS:BOOL=ON \
-Dsaline_ENABLE_Fortran:BOOL=ON \
~/saline
-S ${saline_src} \
-B ${saline_bld}
```
#### Enabling Python Support
Python Wrappers are generated using [SWIG-4.0.2](https://www.swig.org/download.html).
Python Wrappers are generated using [SWIG-4.2.1](https://www.swig.org/download.html).
In principal earlier versions of SWIG may be used with a few constraints. Python versions 3.9 and later require SWIG version greater than 4.1.0.
Additionally, the python packages 'build' and 'setuptools' must be installed. This may be done via pip or conda/mamba.
For convenience, user's can utilize conda and this [environment yaml](./ci/build_env.yml) to get started. Not all packages listed therein are required simply for building.
To enable Python, pass the option `-Dsaline_ENABLE_Python:BOOL=ON` as in:
```
@@ -116,15 +150,19 @@ To enable Python, pass the option `-Dsaline_ENABLE_Python:BOOL=ON` as in:
-DCMAKE_BUILD_TYPE:STRING=RELEASE \
-Dsaline_ENABLE_TESTS:BOOL=ON \
-Dsaline_ENABLE_Python:BOOL=ON \
~/saline
-S ${saline_src} \
-B ${saline_bld}
cmake --build ${saline_bld}
```
This should result in having a python wheel file created at `${saline_bld}/src/python/dist/SalinePy*.whl`. It should be noted that this process only is only sufficient for sharing a wheel among local users of a given machine, or optimistically a substantially similar machine. Building a wheel for general consumption is beyond the scope and questions on the process should be directed to mstdb@ornl.gov.
See [Python package](./src/python/README.md) for a simple usage pattern.
#### 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.
At this time the main development repository is protected. External users should direct comments, questions, and suggestions to mstdb@ornl.gov.