X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=README.md;h=9bf471f1dda1a356904f5d0e20cba8a19dbe1389;hb=743775baaa9b9374834a7aa886087d0e156c30b7;hp=3bf79c9d487456b4f1ef2edfeea1ef0a9b060ad1;hpb=7e6a5ca4c29a1a362d37420aadfe0ffa57df5f22;p=nlopt.git diff --git a/README.md b/README.md index 3bf79c9..9bf471f 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,42 @@ +[![Latest Docs](https://readthedocs.org/projects/nlopt/badge/?version=latest)](http://nlopt.readthedocs.io/en/latest/) +[![Build Status](https://travis-ci.org/stevengj/nlopt.svg?branch=master)](https://travis-ci.org/stevengj/nlopt) +[![Build Status](https://ci.appveyor.com/api/projects/status/github/stevengj/nlopt?branch=master&svg=true)](https://ci.appveyor.com/project/StevenGJohnson/nlopt) + NLopt is a library for nonlinear local and global optimization, for functions with and without gradient information. It is designed as -as simple, unified interface and packaging of several free/open-source +a simple, unified interface and packaging of several free/open-source nonlinear optimization libraries. The latest release and a complete manual may be found at the NLopt home page: http://ab-initio.mit.edu/nlopt -It is compiled and installed with the standard GNU autoconf/automake -commands: +NLopt is compiled and installed with the [CMake][1] build system +(see `CMakeLists.txt` file for available options): - ./configure - make - make install + git clone git://github.com/stevengj/nlopt + cd nlopt + mkdir build + cd build + cmake .. + make + sudo make install -(See `./configure --help` or the `INSTALL` file for other options.) +(To build the latest development sources from git, you will need [SWIG][2] +to generate the Python and Guile bindings.) Once it is installed, `#include ` in your C/C++ programs and -link it with `-lnlopt -lm`. You may need to use the C++ compiler to link +link it with `-lnlopt -lm`. You may need to use a C++ compiler to link in order to include the C++ libraries (which are used internally by NLopt, -even though it has a C API). +even though it exports a C API). -The minimization function, `nlopt_minimize`, is described in the [man -page](http://en.wikipedia.org/wiki/Man_page) (`api/nlopt_minimize.3`, -which is installed by `make install`. +The minimization function, `nlopt_minimize`, is described in the [manpage][3] +(`api/nlopt_minimize.3`, which is installed by `make install`). +See also the manual on our web page. -There are also interfaces for Fortran, Python, Matlab, Octave, OCaml, +There are also interfaces for Fortran, Python, MATLAB, GNU Octave, OCaml, GNU Guile, GNU R, Lua, and Julia. Interfaces for other languages may be added in the future. + +[1]: https://cmake.org/ +[2]: http://www.swig.org/ +[3]: https://en.wikipedia.org/wiki/Man_page