Mercurial > hg > orthanc
diff Resources/CMake/OpenSslConfiguration.cmake @ 2715:73bc0c32547c jobs
fix embedding openssl within a DLL
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 09 Jul 2018 13:02:56 +0200 |
parents | 28dc5bb9a7e6 |
children | 2a4ac74da1ed |
line wrap: on
line diff
--- a/Resources/CMake/OpenSslConfiguration.cmake Mon Jul 09 12:20:28 2018 +0200 +++ b/Resources/CMake/OpenSslConfiguration.cmake Mon Jul 09 13:02:56 2018 +0200 @@ -95,8 +95,30 @@ ${OPENSSL_SOURCES_DIR}/ssl/ssl3.h ${OPENSSL_SOURCES_DIR}/ssl/tls1.h ) - file(COPY ${header} DESTINATION ${OPENSSL_SOURCES_DIR}/include/openssl) + file(COPY ${header} DESTINATION ${OPENSSL_SOURCES_DIR}/include/openssl) endforeach() + + file(RENAME + ${OPENSSL_SOURCES_DIR}/include/openssl/e_os2.h + ${OPENSSL_SOURCES_DIR}/include/openssl/e_os2_source.h) + + # The following patch of "e_os2.h" prevents from building OpenSSL + # as a DLL under Windows. Otherwise, symbols have inconsistent + # linkage if ${OPENSSL_SOURCES} is used to create a DLL (notably + # if building an Orthanc plugin such as MySQL). + file(WRITE ${OPENSSL_SOURCES_DIR}/include/openssl/e_os2.h " +#include \"e_os2_source.h\" +#if defined(_WIN32) +# undef OPENSSL_EXPORT +# undef OPENSSL_IMPORT +# undef OPENSSL_EXTERN +# undef OPENSSL_GLOBAL +# define OPENSSL_EXPORT +# define OPENSSL_IMPORT +# define OPENSSL_EXTERN extern +# define OPENSSL_GLOBAL +#endif +") endif() add_definitions(