annotate Resources/CMake/LibCurlConfiguration.cmake @ 29:042ac60f5bf9

simplified build of curl
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 29 Aug 2012 15:27:13 +0200
parents 6ba765ecf3db
children 89383427856a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
1 if (${STATIC_BUILD})
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
2 SET(CURL_SOURCES_DIR ${CMAKE_BINARY_DIR}/curl-7.26.0)
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
3 DownloadPackage("http://curl.haxx.se/download/curl-7.26.0.tar.gz" "${CURL_SOURCES_DIR}" "" "")
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
4
29
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
5 if (0)
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
6 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
7 if ("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
8 SET(SOURCE_CONFIG ${CMAKE_SOURCE_DIR}/Resources/libcurl/WithSsl/x86_64-linux)
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
9 elseif ("${CMAKE_SIZEOF_VOID_P}" EQUAL "4")
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
10 SET(SOURCE_CONFIG ${CMAKE_SOURCE_DIR}/Resources/libcurl/i686-pc-linux-gnu)
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
11 else()
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
12 message(FATAL_ERROR "Support your platform here")
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
13 endif()
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
14 elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
15 if (${MSVC})
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
16 SET(SOURCE_CONFIG ${CMAKE_SOURCE_DIR}/Resources/libcurl/msvc)
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
17 else()
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
18 SET(SOURCE_CONFIG ${CMAKE_SOURCE_DIR}/Resources/libcurl/i586-mingw32msvc)
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
19 endif()
2
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
20 else()
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
21 message(FATAL_ERROR "Support your platform here")
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
22 endif()
29
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
23
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
24 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
25 configure_file("${SOURCE_CONFIG}/curl_config.h" "${CURL_SOURCES_DIR}/lib/curl_config.h" COPYONLY)
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
26 configure_file("${SOURCE_CONFIG}/curlbuild.h" "${CURL_SOURCES_DIR}/include/curl/curlbuild.h" COPYONLY)
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
27 elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
28 configure_file("${SOURCE_CONFIG}/curlbuild.h" "${CURL_SOURCES_DIR}/include/curl/curlbuild.h" COPYONLY)
2
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
29 endif()
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
30 endif()
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
31
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
32 include_directories(${CURL_SOURCES_DIR}/include)
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
33
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
34 AUX_SOURCE_DIRECTORY(${CURL_SOURCES_DIR}/lib CURL_SOURCES)
8
3a584803783e build with visual studio
jodogne
parents: 2
diff changeset
35 source_group(ThirdParty\\LibCurl REGULAR_EXPRESSION ${CURL_SOURCES_DIR}/.*)
2
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
36
29
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
37 #list(APPEND THIRD_PARTY_SOURCES ${CURL_SOURCES})
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
38 add_library(Curl STATIC ${CURL_SOURCES})
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
39 link_libraries(Curl)
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
40
2
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
41 add_definitions(
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
42 -DCURL_STATICLIB=1
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
43 -DBUILDING_LIBCURL=1
8
3a584803783e build with visual studio
jodogne
parents: 2
diff changeset
44 -DCURL_DISABLE_LDAPS=1
3a584803783e build with visual studio
jodogne
parents: 2
diff changeset
45 -DCURL_DISABLE_LDAP=1
3a584803783e build with visual studio
jodogne
parents: 2
diff changeset
46 -D_WIN32_WINNT=0x0501
29
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
47
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
48 -DCURL_DISABLE_DICT=1
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
49 -DCURL_DISABLE_FILE=1
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
50 -DCURL_DISABLE_FTP=1
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
51 -DCURL_DISABLE_GOPHER=1
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
52 -DCURL_DISABLE_LDAP=1
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
53 -DCURL_DISABLE_LDAPS=1
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
54 -DCURL_DISABLE_POP3=1
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
55 -DCURL_DISABLE_PROXY=1
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
56 -DCURL_DISABLE_RTSP=1
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
57 -DCURL_DISABLE_TELNET=1
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
58 -DCURL_DISABLE_TFTP=1
2
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
59 )
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
60
29
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
61 if (${ENABLE_SSL})
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
62 add_definitions(
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
63 #-DHAVE_LIBSSL=1
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
64 -DUSE_OPENSSL=1
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
65 -DUSE_SSLEAY=1
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
66 )
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
67 endif()
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
68
15
2fcf8e5e789c mini fix
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 8
diff changeset
69 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
29
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
70 #set_property(
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
71 # SOURCE ${CURL_SOURCES}
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
72 # PROPERTY COMPILE_DEFINITIONS HAVE_CONFIG_H)
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
73 if ("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
74 SET(TMP_OS "x86_64")
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
75 else()
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
76 SET(TMP_OS "x86")
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
77 endif()
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
78
15
2fcf8e5e789c mini fix
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 8
diff changeset
79 set_property(
2fcf8e5e789c mini fix
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 8
diff changeset
80 SOURCE ${CURL_SOURCES}
29
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
81 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;OS=\"${TMP_OS}\"")
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
82 if ("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
83 add_definitions(
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
84 -DRECV_TYPE_ARG1=int
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
85 -DRECV_TYPE_ARG2=void*
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
86 -DRECV_TYPE_ARG3=size_t
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
87 -DRECV_TYPE_ARG4=int
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
88 -DRECV_TYPE_RETV=ssize_t
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
89 -DSEND_TYPE_ARG1=int
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
90 -DSEND_TYPE_ARG2=void*
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
91 -DSEND_QUAL_ARG2=const
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
92 -DSEND_TYPE_ARG3=size_t
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
93 -DSEND_TYPE_ARG4=int
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
94 -DSEND_TYPE_RETV=ssize_t
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
95 -DSIZEOF_SHORT=2
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
96 -DSIZEOF_INT=4
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
97 -DSIZEOF_SIZE_T=8
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
98 )
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
99 elseif ("${CMAKE_SIZEOF_VOID_P}" EQUAL "4")
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
100 add_definitions(
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
101 -DRECV_TYPE_ARG1=SOCKET
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
102 -DRECV_TYPE_ARG2=char*
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
103 -DRECV_TYPE_ARG3=int
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
104 -DRECV_TYPE_ARG4=int
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
105 -DRECV_TYPE_RETV=int
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
106 -DSEND_TYPE_ARG1=SOCKET
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
107 -DSEND_TYPE_ARG2=char*
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
108 -DSEND_QUAL_ARG2=const
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
109 -DSEND_TYPE_ARG3=int
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
110 -DSEND_TYPE_ARG4=int
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
111 -DSEND_TYPE_RETV=int
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
112 -DSIZEOF_SHORT=2
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
113 -DSIZEOF_INT=4
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
114 -DSIZEOF_SIZE_T=4
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
115 )
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
116 else()
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
117 message(FATAL_ERROR "Support your platform here")
042ac60f5bf9 simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
118 endif()
15
2fcf8e5e789c mini fix
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 8
diff changeset
119 endif()
2fcf8e5e789c mini fix
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 8
diff changeset
120
2
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
121 else()
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
122 include(FindCURL)
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
123 include_directories(${CURL_INCLUDE_DIRS})
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
124 link_libraries(${CURL_LIBRARIES})
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
125
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
126 if (NOT ${CURL_FOUND})
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
127 message(FATAL_ERROR "Unable to find LibCurl")
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
128 endif()
67a6978503b7 fixing Windows build
Jodogne@Laptop
parents: 0
diff changeset
129 endif()