You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
double-conversion/double-conversion-soversion...

107 lines
3.0 KiB

commit c7734598e2ee084c17e1b8a41daa569fb021d593
Author: Florian Loitsch <florian@loitsch.com>
Date: Sat Mar 8 15:02:13 2014 +0100
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 @@ cmake_minimum_required(VERSION 2.8)
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 @@ it can be used more easily in other projects.
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 @@ ${headers}
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