Documentation update.
1. Update iOS build instructions.
2. Update version history.
Change-Id: I49d62e86ecff39190b50c050cb12eef4e2773357
diff --git a/docs/source/building.rst b/docs/source/building.rst
index 5b6846e..14614d2 100644
--- a/docs/source/building.rst
+++ b/docs/source/building.rst
@@ -324,10 +324,45 @@
Building on Android
===================
-
Download the ``Android NDK``. Run ``ndk-build`` from inside the
``jni`` directory. Use the ``libceres.a`` that gets created.
+.. _section-ios
+
+Building on iOS
+===============
+.. NOTE::
+
+ You need iOS version 6.0 or higher to build Ceres Solver.
+
+To build Ceres for iOS, we need to force `CMake` to find the
+toolchains from the iOS SDK instead of using the standard ones.
+The following incanation does the needful:
+
+.. code-block:: bash
+
+ cmake ../ceres-solver \
+ -DCMAKE_TOOLCHAIN_FILE=../ceres-solver/cmake/iOS.cmake \
+ -DEIGEN_INCLUDE_DIR=/path/to/eigen/header \
+ -DIOS_PLATFORM=<PLATFORM>
+
+`PLATFORM` can be one of `OS`, `SIMULATOR` and `SIMULATOR64`. You can
+build for `OS` (`armv7`, `armv7s`, `arm64`), `SIMULATOR` (`i386`) or
+`SIMULATOR64` (`x86_64`) separately and use `LIPO` to merge them into
+one static library. See `cmake/iOS.cmake` for more options.
+
+After building, you will get `libceres.a` and `libminiglog.a`
+You need to add these two libraries into your xcode project.
+
+The default cmake configuration builds a bare bones version of Ceres
+Solver that only depends on Eigen and MINIGLOG, this should be
+sufficient for solving small to moderate sized problems (No
+`SPARSE_SCHUR`, `SPARSE_NORMAL_CHOLESKY` linear solvers and no
+`CLUSTER_JACOBI` and `CLUSTER_TRIDIAGONAL` preconditioners).
+
+If you decide to use `LAPACK` and `BLAS`, then you also need to add
+`Accelerate.framework` to your xcode project's linking dependency.
+
.. _section-customizing:
Customizing the build
diff --git a/docs/source/version_history.rst b/docs/source/version_history.rst
index 39f2c95..953a9d6 100644
--- a/docs/source/version_history.rst
+++ b/docs/source/version_history.rst
@@ -10,14 +10,17 @@
New Features
------------
-#. Support for bounds constrained optimization problems when using the
- trust region minimizer.
-#. Problems in which the sparsity structure of the Jacobian changes
- over the course of the optimization can now be solved much more
- efficiently. (Richard Stebbing)
+#. Bounds constraints: Support for upper and/or lower bounds on
+ parameters when using the trust region minimizer.
+#. Dynamic Sparsity: Problems in which the sparsity structure of the
+ Jacobian changes over the course of the optimization can now be
+ solved much more efficiently. (Richard Stebbing)
#. Improved support for Microsoft Visual C++ including the ability to
build and ship DLLs. (Björn Piltz, Alex Stewart and Sergey
Sharybin)
+#. Support for building on iOS 6.0 or higher (Jack Feng).
+#. Autogeneration of config.h that captures all the defines used to
+ build and use Ceres Solver.
#. Simpler and more informative solver termination type
reporting. (See below for more details)
#. New `website <http://www.ceres-solver.org>`_ based entirely on
@@ -30,18 +33,13 @@
they can be up to 2G in size.
#. Faster ``SPARSE_NORMAL_CHOLESKY`` solver when using ``CX_SPARSE``
as the sparse linear algebra library.
-#. ``Problem::IsParameterBlockPresent`` can be used to check if a
- parameter block is already present in the problem.
-#. ``Problem::GetParameterization`` can be used to access the
- parameterization associated with a parameter block.
-#. Added the (2,4,9) and (2,4,8) template specialization for
- PartitionedMatrixView and SchurEliminator.
+#. Added ``Problem::IsParameterBlockPresent`` and
+ ``Problem::GetParameterization``.
+#. Added the (2,4,9) and (2,4,8) template specializations.
#. An example demonstrating the use of
DynamicAutoDiffCostFunction. (Joydeep Biswas)
-#. An example demonstrating the use of dynamic sparsity (Richard
- Stebbing)
-#. An example from Blender demonstrating the use of a custom
- ``IterationCallback``. (Sergey Sharybin)
+#. Homography estimation example from Blender demonstrating the use of
+ a custom ``IterationCallback``. (Sergey Sharybin)
Backward Incompatible API Changes
@@ -92,7 +90,10 @@
Bug Fixes
---------
-#. Fixed errant verbose levels (Bjorn Piltz)
+#. Do not propagate 3d party libs through
+ `IMPORTED_LINK_INTERFACE_LIBRARIES_[DEBUG/RELEASE]` mechanism when
+ building shared libraries. (Björn Piltz)
+#. Fixed errant verbose levels (Björn Piltz)
#. Variety of code cleanups, optimizations and bug fixes to the line
search minimizer code (Alex Stewart)
#. Fixed ``BlockSparseMatrix::Transpose`` when the matrix has row and
@@ -130,7 +131,7 @@
``Solver::Options::inner_iteration_ordering``. As a consequence the
``NDK`` build now depends on ``libc++`` from the ``LLVM`` project.
#. Variety of lint cleanups (William Rucklidge & Jim Roseborough)
-#. Various internal cleanups.
+#. Various internal cleanups including dead code removal.
1.8.0