Mercurial > hg > orthanc
comparison 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 |
comparison
equal
deleted
inserted
replaced
2714:28dc5bb9a7e6 | 2715:73bc0c32547c |
---|---|
93 ${OPENSSL_SOURCES_DIR}/ssl/ssl2.h | 93 ${OPENSSL_SOURCES_DIR}/ssl/ssl2.h |
94 ${OPENSSL_SOURCES_DIR}/ssl/ssl23.h | 94 ${OPENSSL_SOURCES_DIR}/ssl/ssl23.h |
95 ${OPENSSL_SOURCES_DIR}/ssl/ssl3.h | 95 ${OPENSSL_SOURCES_DIR}/ssl/ssl3.h |
96 ${OPENSSL_SOURCES_DIR}/ssl/tls1.h | 96 ${OPENSSL_SOURCES_DIR}/ssl/tls1.h |
97 ) | 97 ) |
98 file(COPY ${header} DESTINATION ${OPENSSL_SOURCES_DIR}/include/openssl) | 98 file(COPY ${header} DESTINATION ${OPENSSL_SOURCES_DIR}/include/openssl) |
99 endforeach() | 99 endforeach() |
100 | |
101 file(RENAME | |
102 ${OPENSSL_SOURCES_DIR}/include/openssl/e_os2.h | |
103 ${OPENSSL_SOURCES_DIR}/include/openssl/e_os2_source.h) | |
104 | |
105 # The following patch of "e_os2.h" prevents from building OpenSSL | |
106 # as a DLL under Windows. Otherwise, symbols have inconsistent | |
107 # linkage if ${OPENSSL_SOURCES} is used to create a DLL (notably | |
108 # if building an Orthanc plugin such as MySQL). | |
109 file(WRITE ${OPENSSL_SOURCES_DIR}/include/openssl/e_os2.h " | |
110 #include \"e_os2_source.h\" | |
111 #if defined(_WIN32) | |
112 # undef OPENSSL_EXPORT | |
113 # undef OPENSSL_IMPORT | |
114 # undef OPENSSL_EXTERN | |
115 # undef OPENSSL_GLOBAL | |
116 # define OPENSSL_EXPORT | |
117 # define OPENSSL_IMPORT | |
118 # define OPENSSL_EXTERN extern | |
119 # define OPENSSL_GLOBAL | |
120 #endif | |
121 ") | |
100 endif() | 122 endif() |
101 | 123 |
102 add_definitions( | 124 add_definitions( |
103 -DOPENSSL_THREADS | 125 -DOPENSSL_THREADS |
104 -DOPENSSL_IA32_SSE2 | 126 -DOPENSSL_IA32_SSE2 |