| 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. |
| |
| [Gustavo]: Update for version 8.5 |
| Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
| Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> |
| |
| diff -Nura hiawatha-8.5.orig/CMakeLists.txt hiawatha-8.5/CMakeLists.txt |
| --- hiawatha-8.5.orig/CMakeLists.txt 2012-09-12 09:29:34.347994799 -0300 |
| +++ hiawatha-8.5/CMakeLists.txt 2012-09-12 09:33:15.983118183 -0300 |
| @@ -9,6 +9,7 @@ |
| option(ENABLE_MONITOR "Enable support for the Hiawatha Monitor." off) |
| option(ENABLE_RPROXY "Enable reverse proxy support in Hiawatha." on) |
| option(ENABLE_SSL "Enable SSL (PolarSSL) support in Hiawatha." on) |
| +option(ENABLE_SSL_EXTERNAL "Enable SSL (PolarSSL) as an external library." off) |
| option(ENABLE_TOMAHAWK "Enable Tomahawk in Hiawatha" off) |
| option(ENABLE_TOOLKIT "Enable the URL toolkit in Hiawatha" on) |
| option(ENABLE_XSLT "Enable XSLT support in Hiawatha." on) |
| @@ -88,19 +89,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}) |
| @@ -121,7 +126,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}) |