Enable linking against an external PolarSSL Hiawatha contains its own copy of the PolarSSL source code, and its build system builds this private copy of PolarSSL and links to it. In the context of Buildroot, we prefer to link against the PolarSSL built externally by the polarssl package. This patch adds a ENABLE_SSL_EXTERNAL option, which, when used in addition to ENABLE_SSL, tells Hiawatha's build system to link against the already existing PolarSSL library instead of building its own. Signed-off-by: Thomas Petazzoni Index: hiawatha-8.1/CMakeLists.txt =================================================================== --- hiawatha-8.1.orig/CMakeLists.txt +++ hiawatha-8.1/CMakeLists.txt @@ -9,6 +9,7 @@ option(ENABLE_IPV6 "Enable IPv6 support in Hiawatha." ON) option(ENABLE_MONITOR "Enable support for the Hiawatha Monitor." OFF) option(ENABLE_SSL "Enable SSL (PolarSSL) support in Hiawatha." ON) +option(ENABLE_SSL_EXTERNAL "Enable SSL (PolarSSL) as an external library." OFF) option(ENABLE_TOOLKIT "Enable the URL toolkit in Hiawatha" ON) option(ENABLE_XSLT "Enable XSLT support in Hiawatha." ON) @@ -86,19 +87,23 @@ # PolarSSL if(ENABLE_SSL) + if(NOT ENABLE_SSL_EXTERNAL) option(USE_SHARED_POLARSSL_LIBRARY "Build PolarSSL as a shared library." ON) set(CMAKE_INSTALL_NAME_DIR ${CMAKE_INSTALL_FULL_LIBDIR}/hiawatha) set(LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/hiawatha) + include_directories(polarssl/include) add_subdirectory(polarssl) + endif() set(POLARSSL_LIBRARY "polarssl") endif() # Hiawatha -include_directories(${CMAKE_CURRENT_BINARY_DIR} polarssl/include) if(ENABLE_XSLT) include_directories(${LIBXML2_INCLUDE_DIR} ${LIBXSLT_INCLUDE_DIR}) endif() +include_directories(${CMAKE_CURRENT_BINARY_DIR}) + # Configure files configure_file(config.h.in config.h) foreach (configfile ${config_files_in}) @@ -119,7 +124,9 @@ target_link_libraries(hiawatha ${CRYPT_LIBRARY} pthread ${Z_LIBRARY}) if(ENABLE_SSL) target_link_libraries(hiawatha ${POLARSSL_LIBRARY}) + if(NOT ENABLE_SSL_EXTERNAL) set_target_properties(hiawatha PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/hiawatha) + endif() endif() if(ENABLE_XSLT) target_link_libraries(hiawatha ${LIBXML2_LIBRARIES} ${LIBXSLT_LIBRARIES})