| 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) |