Support shared libraries with Cmake. Improve README.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5bf382e..7b09be0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,8 +2,12 @@
 project(double-conversion)
 
 # pick a version #
-set(double-conversion_VERSION
-  1.1.1)
+set(double-conversion_VERSION 2.0.1)
+set(double-conversion_SOVERSION_MAJOR 1)
+set(double-conversion_SOVERSION_MINOR 0)
+set(double-conversion_SOVERSION_PATCH 0)
+set(double-conversion_SOVERSION
+  ${double-conversion_SOVERSION_MAJOR}.${double-conversion_SOVERSION_MINOR}.${double-conversion_SOVERSION_PATCH})
 
 # set paths for install -- empty initially
 # Offer the user the choice of overriding the installation directories
diff --git a/Changelog b/Changelog
index 516f6d2..526756b 100644
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,8 @@
+2014-03-08:
+  Update version number for cmake.
+  Support shared libraries with cmake.
+  Add build instructions to the README.
+
 2014-01-12:
   Tagged v2.0.1.
   Fix compilation for ARMv8 64bit (used wrong define).
diff --git a/README b/README
index f186b42..167f9c5 100644
--- a/README
+++ b/README
@@ -9,3 +9,46 @@
 
 There is extensive documentation in src/double-conversion.h. Other examples can
 be found in test/cctest/test-conversions.cc.
+
+
+Building
+========
+
+This library can be built with scons [0] or cmake [1].
+The checked-in Makefile simply forwards to scons, and provides a
+shortcut to run all tests:
+
+    make
+    make test
+
+Scons
+-----
+
+The easiest way to install this library is to use `scons`. It builds
+the static and shared library, and is set up to install those at the
+correct locations:
+
+    scons install
+
+Use the `DESTDIR` option to change the target directory:
+
+    scons DESTDIR=alternative_directory install
+
+Cmake
+-----
+
+To use cmake run `cmake .` in the root directory. This overwrites the
+existing Makefile.
+
+Use `-DBUILD_SHARED_LIBS=ON` to enable the compilation of shared libraries.
+Note that this disables static libraries. There is currently no way to
+build both libraries at the same time with cmake.
+
+Use `-DBUILD_TESTING=ON` to build the test executable.
+
+    cmake . -DBUILD_TESTING=ON
+    make
+    test/cctest/cctest --list | tr -d '<' | xargs test/cctest/cctest
+
+[0]: http://www.scons.org
+[1]: http://www.cmake.org
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 7f5c985..0da50b1 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -29,6 +29,12 @@
 set_target_properties(double-conversion
     PROPERTIES PUBLIC_HEADER "${headers}")
 
+if (BUILD_SHARED_LIBS)
+  set_target_properties(double-conversion
+    PROPERTIES VERSION ${double-conversion_SOVERSION}
+               SOVERSION ${double-conversion_SOVERSION_MAJOR})
+endif()
+
 #
 # install command to set up library install
 # given the above PUBLIC_HEADER property set, this