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.8] Signed-off-by: Thomas Petazzoni Signed-off-by: Gustavo Zacarias 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.8 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)