Skip to content

Latest commit

 

History

History
58 lines (46 loc) · 1.8 KB

README.markdown

File metadata and controls

58 lines (46 loc) · 1.8 KB

Autogenerated bindings to the C interface of CBC.

The bindings depends on a local installation of the C++ library in a directory with a specific structure. The path to that directory is read during build time from the environment variable COIN_LIB_DIR. Such an setup can be achieved by following these instructions.

Installing COIN dependencies

We recommend using coinbrew. Download the script and run:

./coinbrew fetch \
  --main-proj=Cbc \
  --main-proj-version=stable/2.10 \
  --git

./coinbrew build \
  --main-proj=Cbc \
  --build-dir=$PWD/build \
  --prefix=$PWD/build \
  --test

If everything goes well 😅, you should get a message like:

Libraries have been installed in:
   <SOME_PATH>/build/lib

Then you can build the library with COIN_LIB_DIR=<SOME_PATH> cargo build.

Something went wrong?

  • check your version of bash to run the script. You may need to update your bash on mac with:
    brew install bash
  • check that you have the proper build dependencies. You may need to do:
    brew install gcc wget svn git
    to install dependencies, such as Fortran compiler which is required to build this lib.

Testing

For now there are only a couple very simple integration tests exercizing the bindings: COIN_LIB_DIR=<SOME_PATH> cargo test -- --nocapture.

License

This library is distributed under the MIT license. Note that the CBC library itself is distributed under the EPL.