X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=README.md;h=9bf471f1dda1a356904f5d0e20cba8a19dbe1389;hb=743775baaa9b9374834a7aa886087d0e156c30b7;hp=33908f8cac2731f82726d19e1a45889672acc130;hpb=ced7cdfb8043e1d627fb7e1abe03f720f101735d;p=nlopt.git diff --git a/README.md b/README.md index 33908f8..9bf471f 100644 --- a/README.md +++ b/README.md @@ -1,38 +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 CMake build system: - - cmake . - sudo make install - -See `CMakeLists.txt` file for cmake options. -To build the latest development sources: +NLopt is compiled and installed with the [CMake][1] build system +(see `CMakeLists.txt` file for available options): git clone git://github.com/stevengj/nlopt cd nlopt - cmake . + mkdir build + cd build + cmake .. make + sudo make install -(To build from git, you will need SWIG.) +(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`. See also the manual on our -web page. +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