chiark / gitweb /
strip
[nlopt.git] / README.md
index 3bf79c9d487456b4f1ef2edfeea1ef0a9b060ad1..9bf471f1dda1a356904f5d0e20cba8a19dbe1389 100644 (file)
--- 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
 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
 
 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 <nlopt.h>` in your C/C++ programs and
 
 Once it is installed, `#include <nlopt.h>` 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,
 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.
 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