diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt
index 6ebeaf1..1c88478 100644
--- a/docs/CMakeLists.txt
+++ b/docs/CMakeLists.txt
@@ -1 +1,29 @@
+# Ceres Solver - A fast non-linear least squares minimizer
+# Copyright 2013 Google Inc. All rights reserved.
+# http://code.google.com/p/ceres-solver/
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# * Redistributions of source code must retain the above copyright notice,
+#   this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright notice,
+#   this list of conditions and the following disclaimer in the documentation
+#   and/or other materials provided with the distribution.
+# * Neither the name of Google Inc. nor the names of its contributors may be
+#   used to endorse or promote products derived from this software without
+#   specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
 ADD_SUBDIRECTORY(source)
diff --git a/docs/source/building.rst b/docs/source/building.rst
index 48027e6..77a81c0 100644
--- a/docs/source/building.rst
+++ b/docs/source/building.rst
@@ -298,18 +298,14 @@
 #. ``-DSUITESPARSE=OFF``: By default, Ceres will link to
    ``SuiteSparse`` if all its dependencies are present. Use this flag
    to build Ceres without ``SuiteSparse``. This will also disable
-   dependency checking for ``LAPACK`` and ``BLAS``. This saves on
-   binary size, but the resulting version of Ceres is not suited to
-   large scale problems due to the lack of a sparse Cholesky solver.
-   This will reduce Ceres' dependencies down to ``Eigen``, ``gflags``
-   and ``google-glog``.
+   dependency checking for ``LAPACK`` and ``BLAS``. This will reduce
+   Ceres' dependencies down to ``Eigen``, ``gflags`` and
+   ``google-glog``.
 
-#. ``-DCXSPARSE=OFF``: By default, Ceres will link to ``CXSparse`` if all
-   its dependencies are present. Use this flag to buils Ceres without
-   ``CXSparse``. This saves on binary size, but the resulting version
-   of Ceres is not suited to large scale problems due to the lack of a
-   sparse Cholesky solver.  This will reduce Ceres' dependencies down
-   to ``Eigen``, ``gflags`` and ``google-glog``.
+#. ``-DCXSPARSE=OFF``: By default, Ceres will link to ``CXSparse`` if
+   all its dependencies are present. Use this flag to builds Ceres
+   without ``CXSparse``. This will reduce Ceres' dependencies down to
+   ``Eigen``, ``gflags`` and ``google-glog``.
 
 #. ``-DGFLAGS=OFF``: Use this flag to build Ceres without
    ``gflags``. This will also prevent some of the example code from
@@ -330,18 +326,19 @@
    disable multithreading.
 
 #. ``-DBUILD_DOCUMENTATION=ON``: Use this flag to enable building the
-   documentation. In addition, ``make ceres_docs`` can be used to build only the
-   documentation.
+   documentation. In addition, ``make ceres_docs`` can be used to
+   build only the documentation.
 
 .. _section-using-ceres:
 
 Using Ceres with CMake
 ======================
 
-Once the library is installed with ``make install``, it is possible to use
-CMake with `FIND_PACKAGE()
-<http://www.cmake.org/cmake/help/v2.8.10/cmake.html#command:find_package>`_ in
-order to compile **user code** against Ceres. For example, for `examples/helloworld.cc
+Once the library is installed with ``make install``, it is possible to
+use CMake with `FIND_PACKAGE()
+<http://www.cmake.org/cmake/help/v2.8.10/cmake.html#command:find_package>`_
+in order to compile **user code** against Ceres. For example, for
+`examples/helloworld.cc
 <https://ceres-solver.googlesource.com/ceres-solver/+/master/examples/helloworld.cc>`_
 the following CMakeList.txt can be used:
 
@@ -361,10 +358,10 @@
 Specify Ceres version
 ---------------------
 
-Additionally, when CMake has found Ceres it can check the package version, if it
-has been specified in the `FIND_PACKAGE()
-<http://www.cmake.org/cmake/help/v2.8.10/cmake.html#command:find_package>`_ call.
-For example:
+Additionally, when CMake has found Ceres it can check the package
+version, if it has been specified in the `FIND_PACKAGE()
+<http://www.cmake.org/cmake/help/v2.8.10/cmake.html#command:find_package>`_
+call.  For example:
 
 .. code-block:: cmake
 
@@ -376,8 +373,8 @@
 -------------------
 
 If Ceres was installed in a non-standard path by specifying
--DCMAKE_INSTALL_PREFIX="/some/where/local", then the user should add the
-**PATHS** option to the ``FIND_PACKAGE()`` command. e.g.,
+-DCMAKE_INSTALL_PREFIX="/some/where/local", then the user should add
+the **PATHS** option to the ``FIND_PACKAGE()`` command. e.g.,
 
 .. code-block:: cmake
 
diff --git a/internal/ceres/schur_complement_solver.cc b/internal/ceres/schur_complement_solver.cc
index e1be4e2..93626bc 100644
--- a/internal/ceres/schur_complement_solver.cc
+++ b/internal/ceres/schur_complement_solver.cc
@@ -293,7 +293,8 @@
     }
 
     if (VLOG_IS_ON(2)) {
-      cholmod_print_common(const_cast<char*>("Symbolic Analysis"), ss_.mutable_cc());
+      cholmod_print_common(const_cast<char*>("Symbolic Analysis"),
+                           ss_.mutable_cc());
     }
   }
 
diff --git a/internal/ceres/sparse_normal_cholesky_solver.cc b/internal/ceres/sparse_normal_cholesky_solver.cc
index 195cacb..d2a7635 100644
--- a/internal/ceres/sparse_normal_cholesky_solver.cc
+++ b/internal/ceres/sparse_normal_cholesky_solver.cc
@@ -215,7 +215,8 @@
     }
 
     if (VLOG_IS_ON(2)) {
-      cholmod_print_common(const_cast<char*>("Symbolic Analysis"), ss_.mutable_cc());
+      cholmod_print_common(const_cast<char*>("Symbolic Analysis"),
+                           ss_.mutable_cc());
     }
   }
 
diff --git a/internal/ceres/visibility_based_preconditioner.cc b/internal/ceres/visibility_based_preconditioner.cc
index 1678d00..c1898c6 100644
--- a/internal/ceres/visibility_based_preconditioner.cc
+++ b/internal/ceres/visibility_based_preconditioner.cc
@@ -428,7 +428,8 @@
     }
 
     if (VLOG_IS_ON(2)) {
-      cholmod_print_common(const_cast<char*>("Symbolic Analysis"), ss_.mutable_cc());
+      cholmod_print_common(const_cast<char*>("Symbolic Analysis"),
+                           ss_.mutable_cc());
     }
   }
 
