blob: 8f7ce5f5b8e4623b16c8b9723afae30c2c8f383c [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.
[Gustavo: update for polarssl 1.2.5]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
diff -Nura polarssl-1.2.3.orig/library/CMakeLists.txt polarssl-1.2.3/library/CMakeLists.txt
--- polarssl-1.2.3.orig/library/CMakeLists.txt 2012-11-27 17:16:20.735678722 -0300
+++ polarssl-1.2.3/library/CMakeLists.txt 2012-11-27 17:18:09.760457733 -0300
@@ -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
@@ -50,19 +51,23 @@
set(libs ws2_32)
endif(WIN32)
-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.2.5 SOVERSION 2)
+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)
target_link_libraries(polarssl ${libs})
-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)