blob: 562b9005af350b1f8ed64b22f972dcba783e6b08 [file] [log] [blame]
Allow both shared and static PolarSSL library
By default, PolarSSL is built as a static library. If the option
USE_SHARED_POLARSSL_LIBRARY is set, then it is build as a shared
library. But there is no way of building both the shared and static
versions.
This patch adds the USE_STATIC_POLARSSL_LIBRARY (which defaults to ON)
in addition to the existing USE_SHARED_POLARSSL_LIBRARY (which
defaults to OFF). Both options can be manipulated independently.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: polarssl-1.1.1/library/CMakeLists.txt
===================================================================
--- polarssl-1.1.1.orig/library/CMakeLists.txt
+++ polarssl-1.1.1/library/CMakeLists.txt
@@ -1,4 +1,5 @@
option(USE_SHARED_POLARSSL_LIBRARY "Build PolarSSL as a shared library." OFF)
+option(USE_STATIC_POLARSSL_LIBRARY "Build PolarSSL as a static library." ON)
set(src
aes.c
@@ -40,17 +41,21 @@
xtea.c
)
-if(NOT USE_SHARED_POLARSSL_LIBRARY)
-
-add_library(polarssl STATIC ${src})
-
-else(NOT USE_SHARED_POLARSSL_LIBRARY)
+if(USE_SHARED_POLARSSL_LIBRARY)
add_library(polarssl SHARED ${src})
set_target_properties(polarssl PROPERTIES VERSION 1.1.3 SOVERSION 1)
+set_target_properties(polarssl PROPERTIES OUTPUT_NAME polarssl)
+
+endif(USE_SHARED_POLARSSL_LIBRARY)
+
+if(USE_STATIC_POLARSSL_LIBRARY)
+
+add_library(polarssl-static STATIC ${src})
+set_target_properties(polarssl-static PROPERTIES OUTPUT_NAME polarssl)
-endif(NOT USE_SHARED_POLARSSL_LIBRARY)
+endif(USE_STATIC_POLARSSL_LIBRARY)
-install(TARGETS polarssl
+install(TARGETS polarssl polarssl-static
DESTINATION ${LIB_INSTALL_DIR}
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)