Mercurial > hg > orthanc
annotate Resources/CMake/LibCurlConfiguration.cmake @ 2092:50dd3249732e
optimization for cmake
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 05 Oct 2016 16:29:00 +0200 |
parents | fefbe71c2272 |
children | 9e8b315625c1 |
rev | line source |
---|---|
735 | 1 if (STATIC_BUILD OR NOT USE_SYSTEM_CURL) |
1527
7b58e0048874
Upgrade to curl 7.44.0 for static and Windows builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1415
diff
changeset
|
2 SET(CURL_SOURCES_DIR ${CMAKE_BINARY_DIR}/curl-7.44.0) |
1537
fbf763bb1fa3
error detection in patches
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1536
diff
changeset
|
3 SET(CURL_URL "http://www.montefiore.ulg.ac.be/~jodogne/Orthanc/ThirdPartyDownloads/curl-7.44.0.tar.gz") |
fbf763bb1fa3
error detection in patches
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1536
diff
changeset
|
4 SET(CURL_MD5 "cf46112b5151e2f1a3fd38439bdade23") |
fbf763bb1fa3
error detection in patches
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1536
diff
changeset
|
5 |
fbf763bb1fa3
error detection in patches
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1536
diff
changeset
|
6 DownloadPackage(${CURL_MD5} ${CURL_URL} "${CURL_SOURCES_DIR}") |
735 | 7 |
1527
7b58e0048874
Upgrade to curl 7.44.0 for static and Windows builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1415
diff
changeset
|
8 include_directories( |
7b58e0048874
Upgrade to curl 7.44.0 for static and Windows builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1415
diff
changeset
|
9 ${CURL_SOURCES_DIR}/include |
7b58e0048874
Upgrade to curl 7.44.0 for static and Windows builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1415
diff
changeset
|
10 ) |
7b58e0048874
Upgrade to curl 7.44.0 for static and Windows builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1415
diff
changeset
|
11 |
735 | 12 AUX_SOURCE_DIRECTORY(${CURL_SOURCES_DIR}/lib CURL_SOURCES) |
1527
7b58e0048874
Upgrade to curl 7.44.0 for static and Windows builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1415
diff
changeset
|
13 AUX_SOURCE_DIRECTORY(${CURL_SOURCES_DIR}/lib/vtls CURL_SOURCES) |
735 | 14 source_group(ThirdParty\\LibCurl REGULAR_EXPRESSION ${CURL_SOURCES_DIR}/.*) |
15 | |
16 add_definitions( | |
1536 | 17 -DBUILDING_LIBCURL=1 |
735 | 18 -DCURL_STATICLIB=1 |
19 -DCURL_DISABLE_LDAPS=1 | |
20 -DCURL_DISABLE_LDAP=1 | |
21 -DCURL_DISABLE_DICT=1 | |
22 -DCURL_DISABLE_FILE=1 | |
23 -DCURL_DISABLE_FTP=1 | |
24 -DCURL_DISABLE_GOPHER=1 | |
25 -DCURL_DISABLE_LDAP=1 | |
26 -DCURL_DISABLE_LDAPS=1 | |
27 -DCURL_DISABLE_POP3=1 | |
1273
88010d8e12cf
Support of HTTP proxy
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
930
diff
changeset
|
28 #-DCURL_DISABLE_PROXY=1 |
735 | 29 -DCURL_DISABLE_RTSP=1 |
30 -DCURL_DISABLE_TELNET=1 | |
31 -DCURL_DISABLE_TFTP=1 | |
32 ) | |
33 | |
1415 | 34 if (ENABLE_SSL) |
735 | 35 add_definitions( |
36 #-DHAVE_LIBSSL=1 | |
37 -DUSE_OPENSSL=1 | |
2022
fefbe71c2272
Possibility to use PKCS#11 authentication for hardware security modules with Orthanc peers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1560
diff
changeset
|
38 -DHAVE_OPENSSL_ENGINE_H=1 |
735 | 39 -DUSE_SSLEAY=1 |
40 ) | |
41 endif() | |
42 | |
2092
50dd3249732e
optimization for cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2022
diff
changeset
|
43 if (NOT EXISTS "${CURL_SOURCES_DIR}/lib/curl_config.h") |
50dd3249732e
optimization for cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2022
diff
changeset
|
44 file(WRITE ${CURL_SOURCES_DIR}/lib/curl_config.h "") |
1533
0011cc99443c
improving HTTPS support
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1532
diff
changeset
|
45 |
2092
50dd3249732e
optimization for cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2022
diff
changeset
|
46 file(GLOB CURL_LIBS_HEADERS ${CURL_SOURCES_DIR}/lib/*.h) |
50dd3249732e
optimization for cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2022
diff
changeset
|
47 foreach (header IN LISTS CURL_LIBS_HEADERS) |
50dd3249732e
optimization for cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2022
diff
changeset
|
48 get_filename_component(filename ${header} NAME) |
50dd3249732e
optimization for cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2022
diff
changeset
|
49 file(WRITE ${CURL_SOURCES_DIR}/lib/vtls/${filename} "#include \"../${filename}\"\n") |
50dd3249732e
optimization for cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2022
diff
changeset
|
50 endforeach() |
50dd3249732e
optimization for cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2022
diff
changeset
|
51 endif() |
1536 | 52 |
1544 | 53 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR |
930 | 54 ${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" OR |
1337 | 55 ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD" OR |
890 | 56 ${CMAKE_SYSTEM_NAME} STREQUAL "kFreeBSD") |
735 | 57 if ("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") |
58 SET(TMP_OS "x86_64") | |
59 else() | |
60 SET(TMP_OS "x86") | |
61 endif() | |
62 | |
63 set_property( | |
64 SOURCE ${CURL_SOURCES} | |
1531 | 65 PROPERTY COMPILE_DEFINITIONS "HAVE_TIME_H;HAVE_STRUCT_TIMEVAL;HAVE_SYS_STAT_H;HAVE_SOCKET;HAVE_STRUCT_SOCKADDR_STORAGE;HAVE_SYS_SOCKET_H;HAVE_SOCKET;HAVE_SYS_SOCKET_H;HAVE_NETINET_IN_H;HAVE_NETDB_H;HAVE_FCNTL_O_NONBLOCK;HAVE_FCNTL_H;HAVE_SELECT;HAVE_ERRNO_H;HAVE_SEND;HAVE_RECV;HAVE_LONGLONG;OS=\"${TMP_OS}\"" |
1527
7b58e0048874
Upgrade to curl 7.44.0 for static and Windows builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1415
diff
changeset
|
66 ) |
7b58e0048874
Upgrade to curl 7.44.0 for static and Windows builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1415
diff
changeset
|
67 |
735 | 68 if ("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") |
69 add_definitions( | |
70 -DRECV_TYPE_ARG1=int | |
71 -DRECV_TYPE_ARG2=void* | |
72 -DRECV_TYPE_ARG3=size_t | |
73 -DRECV_TYPE_ARG4=int | |
74 -DRECV_TYPE_RETV=ssize_t | |
75 -DSEND_TYPE_ARG1=int | |
76 -DSEND_TYPE_ARG2=void* | |
77 -DSEND_QUAL_ARG2=const | |
78 -DSEND_TYPE_ARG3=size_t | |
79 -DSEND_TYPE_ARG4=int | |
80 -DSEND_TYPE_RETV=ssize_t | |
81 -DSIZEOF_SHORT=2 | |
82 -DSIZEOF_INT=4 | |
83 -DSIZEOF_SIZE_T=8 | |
84 ) | |
85 elseif ("${CMAKE_SIZEOF_VOID_P}" EQUAL "4") | |
86 add_definitions( | |
87 -DRECV_TYPE_ARG1=int | |
88 -DRECV_TYPE_ARG2=void* | |
89 -DRECV_TYPE_ARG3=size_t | |
90 -DRECV_TYPE_ARG4=int | |
91 -DRECV_TYPE_RETV=int | |
92 -DSEND_TYPE_ARG1=int | |
93 -DSEND_TYPE_ARG2=void* | |
94 -DSEND_QUAL_ARG2=const | |
95 -DSEND_TYPE_ARG3=size_t | |
96 -DSEND_TYPE_ARG4=int | |
97 -DSEND_TYPE_RETV=int | |
98 -DSIZEOF_SHORT=2 | |
99 -DSIZEOF_INT=4 | |
100 -DSIZEOF_SIZE_T=4 | |
101 ) | |
102 else() | |
103 message(FATAL_ERROR "Support your platform here") | |
104 endif() | |
105 endif() | |
106 | |
107 else() | |
108 include(FindCURL) | |
109 include_directories(${CURL_INCLUDE_DIRS}) | |
110 link_libraries(${CURL_LIBRARIES}) | |
111 | |
112 if (NOT ${CURL_FOUND}) | |
113 message(FATAL_ERROR "Unable to find LibCurl") | |
114 endif() | |
115 endif() |