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.
107 lines
3.0 KiB
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
|