Mercurial > hg > orthanc
annotate Resources/CMake/OpenSslConfiguration.cmake @ 566:6a3e2ca7a7a0 laaw
the client library compiles with LSB 4.0
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 24 Sep 2013 15:12:51 +0200 |
parents | 6b9d09cc9e9d |
children | d775a3cb5a06 |
rev | line source |
---|---|
26 | 1 if (${STATIC_BUILD}) |
2 SET(OPENSSL_SOURCES_DIR ${CMAKE_BINARY_DIR}/openssl-1.0.1c) | |
411
5f6d75cd4b46
md5 of third party downlaods
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
407
diff
changeset
|
3 DownloadPackage( |
5f6d75cd4b46
md5 of third party downlaods
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
407
diff
changeset
|
4 "ae412727c8c15b67880aef7bd2999b2e" |
5f6d75cd4b46
md5 of third party downlaods
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
407
diff
changeset
|
5 "www.montefiore.ulg.ac.be/~jodogne/Orthanc/ThirdPartyDownloads/openssl-1.0.1c.tar.gz" |
553
27d32fc6209a
simplifications to cmake, use a digest of boost 1.54.0 thanks bcp
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
411
diff
changeset
|
6 "${OPENSSL_SOURCES_DIR}") |
26 | 7 |
27 | 8 if (NOT EXISTS "${OPENSSL_SOURCES_DIR}/include/PATCHED") |
9 if ("${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Windows") | |
29
042ac60f5bf9
simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
28
diff
changeset
|
10 message("Patching the symbolic links") |
27 | 11 # Patch the symbolic links by copying the files |
12 file(GLOB headers "${OPENSSL_SOURCES_DIR}/include/openssl/*.h") | |
13 foreach(header ${headers}) | |
14 message(${header}) | |
15 file(READ "${header}" symbolicLink) | |
16 message(${symbolicLink}) | |
17 configure_file("${OPENSSL_SOURCES_DIR}/include/openssl/${symbolicLink}" "${header}" COPYONLY) | |
18 endforeach() | |
19 file(WRITE "${OPENSSL_SOURCES_DIR}/include/PATCHED") | |
20 endif() | |
21 endif() | |
22 | |
26 | 23 add_definitions( |
24 -DOPENSSL_THREADS | |
25 -DOPENSSL_IA32_SSE2 | |
26 -DOPENSSL_NO_ASM | |
27 -DOPENSSL_NO_DYNAMIC_ENGINE | |
28 -DNO_WINDOWS_BRAINDEATH | |
29 | |
30 -DOPENSSL_NO_BF | |
31 -DOPENSSL_NO_CAMELLIA | |
32 -DOPENSSL_NO_CAST | |
33 -DOPENSSL_NO_EC | |
34 -DOPENSSL_NO_ECDH | |
35 -DOPENSSL_NO_ECDSA | |
36 -DOPENSSL_NO_EC_NISTP_64_GCC_128 | |
37 -DOPENSSL_NO_GMP | |
38 -DOPENSSL_NO_GOST | |
39 -DOPENSSL_NO_HW | |
40 -DOPENSSL_NO_JPAKE | |
41 -DOPENSSL_NO_IDEA | |
42 -DOPENSSL_NO_KRB5 | |
43 -DOPENSSL_NO_MD2 | |
44 -DOPENSSL_NO_MDC2 | |
45 -DOPENSSL_NO_MD4 | |
46 -DOPENSSL_NO_RC2 | |
47 -DOPENSSL_NO_RC4 | |
48 -DOPENSSL_NO_RC5 | |
49 -DOPENSSL_NO_RFC3779 | |
50 -DOPENSSL_NO_SCTP | |
51 -DOPENSSL_NO_STORE | |
52 -DOPENSSL_NO_SEED | |
53 -DOPENSSL_NO_WHIRLPOOL | |
54 -DOPENSSL_NO_RIPEMD | |
55 ) | |
56 | |
57 include_directories( | |
58 ${OPENSSL_SOURCES_DIR} | |
59 ${OPENSSL_SOURCES_DIR}/crypto | |
60 ${OPENSSL_SOURCES_DIR}/crypto/asn1 | |
61 ${OPENSSL_SOURCES_DIR}/crypto/modes | |
62 ${OPENSSL_SOURCES_DIR}/crypto/evp | |
63 ${OPENSSL_SOURCES_DIR}/include | |
64 ) | |
65 | |
66 set(OPENSSL_SOURCES_SUBDIRS | |
67 ${OPENSSL_SOURCES_DIR}/crypto | |
68 ${OPENSSL_SOURCES_DIR}/crypto/aes | |
69 ${OPENSSL_SOURCES_DIR}/crypto/asn1 | |
70 ${OPENSSL_SOURCES_DIR}/crypto/bio | |
71 ${OPENSSL_SOURCES_DIR}/crypto/bn | |
72 ${OPENSSL_SOURCES_DIR}/crypto/buffer | |
73 ${OPENSSL_SOURCES_DIR}/crypto/cmac | |
74 ${OPENSSL_SOURCES_DIR}/crypto/cms | |
75 ${OPENSSL_SOURCES_DIR}/crypto/comp | |
76 ${OPENSSL_SOURCES_DIR}/crypto/conf | |
77 ${OPENSSL_SOURCES_DIR}/crypto/des | |
78 ${OPENSSL_SOURCES_DIR}/crypto/dh | |
79 ${OPENSSL_SOURCES_DIR}/crypto/dsa | |
80 ${OPENSSL_SOURCES_DIR}/crypto/dso | |
81 ${OPENSSL_SOURCES_DIR}/crypto/engine | |
82 ${OPENSSL_SOURCES_DIR}/crypto/err | |
83 ${OPENSSL_SOURCES_DIR}/crypto/evp | |
84 ${OPENSSL_SOURCES_DIR}/crypto/hmac | |
85 ${OPENSSL_SOURCES_DIR}/crypto/lhash | |
86 ${OPENSSL_SOURCES_DIR}/crypto/md5 | |
87 ${OPENSSL_SOURCES_DIR}/crypto/modes | |
88 ${OPENSSL_SOURCES_DIR}/crypto/objects | |
89 ${OPENSSL_SOURCES_DIR}/crypto/ocsp | |
90 ${OPENSSL_SOURCES_DIR}/crypto/pem | |
91 ${OPENSSL_SOURCES_DIR}/crypto/pkcs12 | |
92 ${OPENSSL_SOURCES_DIR}/crypto/pkcs7 | |
93 ${OPENSSL_SOURCES_DIR}/crypto/pqueue | |
94 ${OPENSSL_SOURCES_DIR}/crypto/rand | |
95 ${OPENSSL_SOURCES_DIR}/crypto/rsa | |
96 ${OPENSSL_SOURCES_DIR}/crypto/sha | |
97 ${OPENSSL_SOURCES_DIR}/crypto/srp | |
98 ${OPENSSL_SOURCES_DIR}/crypto/stack | |
99 ${OPENSSL_SOURCES_DIR}/crypto/ts | |
100 ${OPENSSL_SOURCES_DIR}/crypto/txt_db | |
101 ${OPENSSL_SOURCES_DIR}/crypto/ui | |
102 ${OPENSSL_SOURCES_DIR}/crypto/x509 | |
103 ${OPENSSL_SOURCES_DIR}/crypto/x509v3 | |
104 ${OPENSSL_SOURCES_DIR}/ssl | |
105 ) | |
106 | |
107 foreach(d ${OPENSSL_SOURCES_SUBDIRS}) | |
108 AUX_SOURCE_DIRECTORY(${d} OPENSSL_SOURCES) | |
109 endforeach() | |
110 | |
111 list(REMOVE_ITEM OPENSSL_SOURCES | |
112 ${OPENSSL_SOURCES_DIR}/crypto/LPdir_unix.c | |
113 ${OPENSSL_SOURCES_DIR}/crypto/LPdir_vms.c | |
114 ${OPENSSL_SOURCES_DIR}/crypto/LPdir_win.c | |
115 ${OPENSSL_SOURCES_DIR}/crypto/LPdir_win32.c | |
116 ${OPENSSL_SOURCES_DIR}/crypto/LPdir_wince.c | |
117 ${OPENSSL_SOURCES_DIR}/crypto/armcap.c | |
118 ${OPENSSL_SOURCES_DIR}/crypto/bf/bfs.cpp | |
119 ${OPENSSL_SOURCES_DIR}/crypto/bio/bss_rtcp.c | |
120 ${OPENSSL_SOURCES_DIR}/crypto/bn/exp.c | |
121 ${OPENSSL_SOURCES_DIR}/crypto/conf/cnf_save.c | |
122 ${OPENSSL_SOURCES_DIR}/crypto/conf/test.c | |
65 | 123 ${OPENSSL_SOURCES_DIR}/crypto/des/des.c |
26 | 124 ${OPENSSL_SOURCES_DIR}/crypto/des/des3s.cpp |
125 ${OPENSSL_SOURCES_DIR}/crypto/des/des_opts.c | |
126 ${OPENSSL_SOURCES_DIR}/crypto/des/dess.cpp | |
127 ${OPENSSL_SOURCES_DIR}/crypto/des/read_pwd.c | |
128 ${OPENSSL_SOURCES_DIR}/crypto/des/speed.c | |
129 ${OPENSSL_SOURCES_DIR}/crypto/evp/e_dsa.c | |
130 ${OPENSSL_SOURCES_DIR}/crypto/evp/m_ripemd.c | |
131 ${OPENSSL_SOURCES_DIR}/crypto/lhash/lh_test.c | |
132 ${OPENSSL_SOURCES_DIR}/crypto/md5/md5s.cpp | |
133 ${OPENSSL_SOURCES_DIR}/crypto/pkcs7/bio_ber.c | |
134 ${OPENSSL_SOURCES_DIR}/crypto/pkcs7/pk7_enc.c | |
135 ${OPENSSL_SOURCES_DIR}/crypto/ppccap.c | |
27 | 136 ${OPENSSL_SOURCES_DIR}/crypto/rand/randtest.c |
26 | 137 ${OPENSSL_SOURCES_DIR}/crypto/s390xcap.c |
138 ${OPENSSL_SOURCES_DIR}/crypto/sparcv9cap.c | |
139 ${OPENSSL_SOURCES_DIR}/crypto/x509v3/tabtest.c | |
140 ${OPENSSL_SOURCES_DIR}/crypto/x509v3/v3conf.c | |
141 ${OPENSSL_SOURCES_DIR}/ssl/ssl_task.c | |
65 | 142 ${OPENSSL_SOURCES_DIR}/crypto/LPdir_nyi.c |
143 ${OPENSSL_SOURCES_DIR}/crypto/aes/aes_x86core.c | |
144 ${OPENSSL_SOURCES_DIR}/crypto/bio/bss_dgram.c | |
145 ${OPENSSL_SOURCES_DIR}/crypto/bn/bntest.c | |
146 ${OPENSSL_SOURCES_DIR}/crypto/bn/expspeed.c | |
147 ${OPENSSL_SOURCES_DIR}/crypto/bn/exptest.c | |
148 ${OPENSSL_SOURCES_DIR}/crypto/engine/enginetest.c | |
149 ${OPENSSL_SOURCES_DIR}/crypto/evp/evp_test.c | |
150 ${OPENSSL_SOURCES_DIR}/crypto/hmac/hmactest.c | |
151 ${OPENSSL_SOURCES_DIR}/crypto/md5/md5.c | |
152 ${OPENSSL_SOURCES_DIR}/crypto/md5/md5test.c | |
153 ${OPENSSL_SOURCES_DIR}/crypto/o_dir_test.c | |
154 ${OPENSSL_SOURCES_DIR}/crypto/pkcs7/dec.c | |
155 ${OPENSSL_SOURCES_DIR}/crypto/pkcs7/enc.c | |
156 ${OPENSSL_SOURCES_DIR}/crypto/pkcs7/sign.c | |
157 ${OPENSSL_SOURCES_DIR}/crypto/pkcs7/verify.c | |
158 ${OPENSSL_SOURCES_DIR}/crypto/rsa/rsa_test.c | |
159 ${OPENSSL_SOURCES_DIR}/crypto/sha/sha.c | |
160 ${OPENSSL_SOURCES_DIR}/crypto/sha/sha1.c | |
161 ${OPENSSL_SOURCES_DIR}/crypto/sha/sha1t.c | |
162 ${OPENSSL_SOURCES_DIR}/crypto/sha/sha1test.c | |
163 ${OPENSSL_SOURCES_DIR}/crypto/sha/sha256t.c | |
164 ${OPENSSL_SOURCES_DIR}/crypto/sha/sha512t.c | |
165 ${OPENSSL_SOURCES_DIR}/crypto/sha/shatest.c | |
166 ${OPENSSL_SOURCES_DIR}/crypto/srp/srptest.c | |
516
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
411
diff
changeset
|
167 |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
411
diff
changeset
|
168 ${OPENSSL_SOURCES_DIR}/crypto/bn/divtest.c |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
411
diff
changeset
|
169 ${OPENSSL_SOURCES_DIR}/crypto/bn/bnspeed.c |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
411
diff
changeset
|
170 ${OPENSSL_SOURCES_DIR}/crypto/des/destest.c |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
411
diff
changeset
|
171 ${OPENSSL_SOURCES_DIR}/crypto/dh/p192.c |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
411
diff
changeset
|
172 ${OPENSSL_SOURCES_DIR}/crypto/dh/p512.c |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
411
diff
changeset
|
173 ${OPENSSL_SOURCES_DIR}/crypto/dh/p1024.c |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
411
diff
changeset
|
174 ${OPENSSL_SOURCES_DIR}/crypto/des/rpw.c |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
411
diff
changeset
|
175 ${OPENSSL_SOURCES_DIR}/ssl/ssltest.c |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
411
diff
changeset
|
176 ${OPENSSL_SOURCES_DIR}/crypto/dsa/dsagen.c |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
411
diff
changeset
|
177 ${OPENSSL_SOURCES_DIR}/crypto/dsa/dsatest.c |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
411
diff
changeset
|
178 ${OPENSSL_SOURCES_DIR}/crypto/dh/dhtest.c |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
411
diff
changeset
|
179 ${OPENSSL_SOURCES_DIR}/crypto/pqueue/pq_test.c |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
411
diff
changeset
|
180 ${OPENSSL_SOURCES_DIR}/crypto/des/ncbc_enc.c |
26 | 181 ) |
182 | |
29
042ac60f5bf9
simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
28
diff
changeset
|
183 #if (${MSVC}) |
042ac60f5bf9
simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
28
diff
changeset
|
184 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") |
28 | 185 set_source_files_properties( |
186 ${OPENSSL_SOURCES} | |
187 PROPERTIES COMPILE_DEFINITIONS | |
188 "OPENSSL_SYSNAME_WIN32;SO_WIN32;WIN32_LEAN_AND_MEAN;L_ENDIAN") | |
566
6a3e2ca7a7a0
the client library compiles with LSB 4.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
558
diff
changeset
|
189 |
6a3e2ca7a7a0
the client library compiles with LSB 4.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
558
diff
changeset
|
190 elseif (${CMAKE_SYSTEM_VERSION} STREQUAL "LinuxStandardBase") |
6a3e2ca7a7a0
the client library compiles with LSB 4.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
558
diff
changeset
|
191 execute_process( |
6a3e2ca7a7a0
the client library compiles with LSB 4.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
558
diff
changeset
|
192 COMMAND patch ui_openssl.c ${CMAKE_SOURCE_DIR}/Resources/Patches/openssl-lsb.diff |
6a3e2ca7a7a0
the client library compiles with LSB 4.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
558
diff
changeset
|
193 WORKING_DIRECTORY ${OPENSSL_SOURCES_DIR}/crypto/ui |
6a3e2ca7a7a0
the client library compiles with LSB 4.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
558
diff
changeset
|
194 ) |
28 | 195 endif() |
196 | |
516
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
411
diff
changeset
|
197 #add_library(OpenSSL STATIC ${OPENSSL_SOURCES}) |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
411
diff
changeset
|
198 #link_libraries(OpenSSL) |
26 | 199 |
200 else() | |
201 include(FindOpenSSL) | |
202 | |
203 if (NOT ${OPENSSL_FOUND}) | |
204 message(FATAL_ERROR "Unable to find OpenSSL") | |
205 endif() | |
206 | |
207 include_directories(${OPENSSL_INCLUDE_DIR}) | |
208 link_libraries(${OPENSSL_LIBRARIES}) | |
209 endif() |