blob: 4682a658a07329dae20692871c8cbf6f0a8eafbc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
include(ExternalProject)
if (UNIX)
externalproject_add(libcurl
URL https://curl.haxx.se/download/curl-7.48.0.tar.gz
URL_MD5 b2cac71029d28cb989150bac72aafab5
BUILD_IN_SOURCE 0
PREFIX ${CMAKE_BINARY_DIR}/deps/libcurl
CONFIGURE_COMMAND
"<SOURCE_DIR>/configure"
"--without-ssl"
"--enable-shared"
"--prefix=<INSTALL_DIR>"
)
elseif (WIN32)
# see https://en.wikipedia.org/wiki/Visual_C%2B%2B
set(VC_VERSION 14)
if (OFF)
elseif(MSVC_VERSION LESS 1310)
message(FATAL_ERROR "MSVC 7.1 or higher is required")
elseif(MSVC_VERSION LESS 1400)
set(VC_VERSION 7)
elseif(MSVC_VERSION LESS 1500)
set(VC_VERSION 8)
elseif(MSVC_VERSION LESS 1600)
set(VC_VERSION 9)
elseif(MSVC_VERSION LESS 1700)
set(VC_VERSION 10)
elseif(MSVC_VERSION LESS 1800)
set(VC_VERSION 11)
elseif (MSVC_VERSION LESS 1900)
set(VC_VERSION 12)
endif()
if (WIN32)
add_definitions("-DCURL_STATICLIB")
endif()
if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
externalproject_add(libcurl
URL https://curl.haxx.se/download/curl-7.48.0.tar.gz
URL_MD5 b2cac71029d28cb989150bac72aafab5
BUILD_IN_SOURCE 1
PREFIX ${CMAKE_BINARY_DIR}/deps/libcurl
CONFIGURE_COMMAND ""
BUILD_COMMAND cd winbuild && nmake /f Makefile.vc mode=static MACHINE=x64 VC=${VC_VERSION}
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory builds/libcurl-vc${VC_VERSION}-x64-release-static-ipv6-sspi-winssl ${CMAKE_BINARY_DIR}/deps/libcurl/
)
else()
externalproject_add(libcurl
URL https://curl.haxx.se/download/curl-7.48.0.tar.gz
URL_MD5 b2cac71029d28cb989150bac72aafab5
BUILD_IN_SOURCE 1
PREFIX ${CMAKE_BINARY_DIR}/deps/libcurl
CONFIGURE_COMMAND ""
BUILD_COMMAND cd winbuild && nmake /f Makefile.vc mode=static MACHINE=x86 VC=${VC_VERSION}
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory builds/libcurl-vc-x86-release-static-ipv6-sspi-winssl ${CMAKE_BINARY_DIR}/deps/libcurl/
)
endif()
endif()
set(LIBCURL_INCLUDE_DIR ${CMAKE_BINARY_DIR}/deps/libcurl/include)
if (APPLE)
set(LIBCURL_LIBRARY ${CMAKE_BINARY_DIR}/deps/libcurl/lib/libcurl.a)
elseif(UNIX)
set(LIBCURL_LIBRARY ${CMAKE_BINARY_DIR}/deps/libcurl/lib/libcurl.a)
elseif(WIN32)
set(LIBCURL_LIBRARY ${CMAKE_BINARY_DIR}/deps/libcurl/lib/libcurl_a.lib)
else()
message(FATAL_ERROR "Unknown platform!")
endif()
set(LIBCURL_BUILT ON)
|