comparison Framework/Orthanc/Resources/CMake/LibCurlConfiguration.cmake @ 1:2dbe613f6c93

add orthanc core
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 14 Oct 2016 15:39:01 +0200
parents
children
comparison
equal deleted inserted replaced
0:351ab0da0150 1:2dbe613f6c93
1 if (STATIC_BUILD OR NOT USE_SYSTEM_CURL)
2 SET(CURL_SOURCES_DIR ${CMAKE_BINARY_DIR}/curl-7.50.3)
3 SET(CURL_URL "http://www.montefiore.ulg.ac.be/~jodogne/Orthanc/ThirdPartyDownloads/curl-7.50.3.tar.gz")
4 SET(CURL_MD5 "870e16fd88a88b52e26a4f04dfc161db")
5
6 DownloadPackage(${CURL_MD5} ${CURL_URL} "${CURL_SOURCES_DIR}")
7
8 include_directories(
9 ${CURL_SOURCES_DIR}/include
10 )
11
12 AUX_SOURCE_DIRECTORY(${CURL_SOURCES_DIR}/lib CURL_SOURCES)
13 AUX_SOURCE_DIRECTORY(${CURL_SOURCES_DIR}/lib/vauth CURL_SOURCES)
14 AUX_SOURCE_DIRECTORY(${CURL_SOURCES_DIR}/lib/vtls CURL_SOURCES)
15 source_group(ThirdParty\\LibCurl REGULAR_EXPRESSION ${CURL_SOURCES_DIR}/.*)
16
17 add_definitions(
18 -DBUILDING_LIBCURL=1
19 -DCURL_STATICLIB=1
20 -DCURL_DISABLE_LDAPS=1
21 -DCURL_DISABLE_LDAP=1
22 -DCURL_DISABLE_DICT=1
23 -DCURL_DISABLE_FILE=1
24 -DCURL_DISABLE_FTP=1
25 -DCURL_DISABLE_GOPHER=1
26 -DCURL_DISABLE_LDAP=1
27 -DCURL_DISABLE_LDAPS=1
28 -DCURL_DISABLE_POP3=1
29 #-DCURL_DISABLE_PROXY=1
30 -DCURL_DISABLE_RTSP=1
31 -DCURL_DISABLE_TELNET=1
32 -DCURL_DISABLE_TFTP=1
33 )
34
35 if (ENABLE_SSL)
36 add_definitions(
37 #-DHAVE_LIBSSL=1
38 -DUSE_OPENSSL=1
39 -DHAVE_OPENSSL_ENGINE_H=1
40 -DUSE_SSLEAY=1
41 )
42 endif()
43
44 if (NOT EXISTS "${CURL_SOURCES_DIR}/lib/curl_config.h")
45 file(WRITE ${CURL_SOURCES_DIR}/lib/curl_config.h "")
46
47 file(WRITE ${CURL_SOURCES_DIR}/lib/vauth/vauth/vauth.h "#include \"../vauth.h\"\n")
48 file(WRITE ${CURL_SOURCES_DIR}/lib/vauth/vauth/digest.h "#include \"../digest.h\"\n")
49 file(WRITE ${CURL_SOURCES_DIR}/lib/vauth/vauth/ntlm.h "#include \"../ntlm.h\"\n")
50 file(WRITE ${CURL_SOURCES_DIR}/lib/vauth/vtls/vtls.h "#include \"../../vtls/vtls.h\"\n")
51
52 file(GLOB CURL_LIBS_HEADERS ${CURL_SOURCES_DIR}/lib/*.h)
53 foreach (header IN LISTS CURL_LIBS_HEADERS)
54 get_filename_component(filename ${header} NAME)
55 file(WRITE ${CURL_SOURCES_DIR}/lib/vauth/${filename} "#include \"../${filename}\"\n")
56 file(WRITE ${CURL_SOURCES_DIR}/lib/vtls/${filename} "#include \"../${filename}\"\n")
57 endforeach()
58 endif()
59
60 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR
61 ${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" OR
62 ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD" OR
63 ${CMAKE_SYSTEM_NAME} STREQUAL "kFreeBSD")
64 if ("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
65 SET(TMP_OS "x86_64")
66 else()
67 SET(TMP_OS "x86")
68 endif()
69
70 set_property(
71 SOURCE ${CURL_SOURCES}
72 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}\""
73 )
74
75 if ("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
76 add_definitions(
77 -DRECV_TYPE_ARG1=int
78 -DRECV_TYPE_ARG2=void*
79 -DRECV_TYPE_ARG3=size_t
80 -DRECV_TYPE_ARG4=int
81 -DRECV_TYPE_RETV=ssize_t
82 -DSEND_TYPE_ARG1=int
83 -DSEND_TYPE_ARG2=void*
84 -DSEND_QUAL_ARG2=const
85 -DSEND_TYPE_ARG3=size_t
86 -DSEND_TYPE_ARG4=int
87 -DSEND_TYPE_RETV=ssize_t
88 -DSIZEOF_SHORT=2
89 -DSIZEOF_INT=4
90 -DSIZEOF_SIZE_T=8
91 )
92 elseif ("${CMAKE_SIZEOF_VOID_P}" EQUAL "4")
93 add_definitions(
94 -DRECV_TYPE_ARG1=int
95 -DRECV_TYPE_ARG2=void*
96 -DRECV_TYPE_ARG3=size_t
97 -DRECV_TYPE_ARG4=int
98 -DRECV_TYPE_RETV=int
99 -DSEND_TYPE_ARG1=int
100 -DSEND_TYPE_ARG2=void*
101 -DSEND_QUAL_ARG2=const
102 -DSEND_TYPE_ARG3=size_t
103 -DSEND_TYPE_ARG4=int
104 -DSEND_TYPE_RETV=int
105 -DSIZEOF_SHORT=2
106 -DSIZEOF_INT=4
107 -DSIZEOF_SIZE_T=4
108 )
109 else()
110 message(FATAL_ERROR "Support your platform here")
111 endif()
112 endif()
113
114 else()
115 include(FindCURL)
116 include_directories(${CURL_INCLUDE_DIRS})
117 link_libraries(${CURL_LIBRARIES})
118
119 if (NOT ${CURL_FOUND})
120 message(FATAL_ERROR "Unable to find LibCurl")
121 endif()
122 endif()