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