summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* cmake: disable poll for macOSPeter Wu2016-11-061-1/+5
| | | | | | Mirrors the autotools behavior introduced with curl-7_50_3-83-ga34c7ce. Fixes #1089
* idn: switch to libidn2 use and IDNA2008 supportDaniel Stenberg2016-10-311-10/+3
| | | | | | | CVE-2016-8625 Bug: https://curl.haxx.se/docs/adv_20161102K.html Reported-by: Christian Heimes
* s/cURL/curlDaniel Stenberg2016-10-181-3/+3
| | | | | The tool was never called cURL, only the project. But even so, we have more and more over time switched to just use lower case.
* cmake: add nghttp2 supportRemo E2016-10-101-0/+7
| | | | Closes #922
* openssl: don’t call CRYTPO_cleanup_all_ex_dataDaniel Stenberg2016-09-191-3/+1
| | | | | | | | | | | | | The OpenSSL function CRYTPO_cleanup_all_ex_data() cannot be called multiple times without crashing - and other libs might call it! We basically cannot call it without risking a crash. The function is a no-op since OpenSSL 1.1.0. Not calling this function only risks a small memory leak with OpenSSL < 1.1.0. Bug: https://curl.haxx.se/mail/lib-2016-09/0045.html Reported-by: Todd Short
* cmake: fix curl-config --static-libsPeter Wu2016-09-111-5/+6
| | | | | | | | | | | The `curl-config --static-libs` command should not output paths like -l/usr/lib/libssl.so, instead print the absolute path without `-l`. This also removes the confusing message "Static linking is broken" which was printed because curl-config --static-libs was disfunctional even though the static libcurl.a library works properly. Fixes https://github.com/curl/curl/issues/841
* CMake: Try to (un-)hide private library symbolsJakub Zakrzewski2016-09-101-2/+1
| | | | | | | | | | Detect support for compiler symbol visibility flags and apply those according to CURL_HIDDEN_SYMBOLS option. It should work true to the autotools build except it tries to unhide symbols on Windows when requested and prints warning if it fails. Ref: https://github.com/curl/curl/issues/981#issuecomment-242665951 Reported-by: Daniel Stenberg
* cmake: Enable win32 threaded resolver by defaultJay Satiro2016-08-081-10/+21
| | | | | | - Turn on USE_THREADS_WIN32 in Windows if ares isn't on This change is similar to what we already do in the autotools build.
* cmake: Enable win32 large file support by defaultJay Satiro2016-08-081-10/+13
| | | | | | | | | All compilers used by cmake in Windows should support large files. - Add test SIZEOF_OFF_T - Remove outdated test SIZEOF_CURL_OFF_T - Turn on USE_WIN32_LARGE_FILES in Windows - Check for 'Largefile' during the features output
* cmake: Fix for schannel supportYonggang Luo2016-07-281-1/+1
| | | | | | | | | | | The check_library_exists_concat do not check crypt32 library properly. So include it directly. Bug: https://github.com/curl/curl/pull/917 Reported-by: Yonggang Luo Bug: https://github.com/curl/curl/issues/935 Reported-by: Alain Danteny
* cmake: now using BUILD_TESTING=ON/OFFSergei Nikulov2016-06-211-8/+3
| | | | | | | | | | CMake build now using BUILD_TESTING=ON/OFF (default is OFF) to build tests and enabling CTest integration. Options BUILD_CURL_TESTS and BUILD_DASHBOARD_REPORTS was removed. Closes #882 Reviewed-by: Brad King
* cmake: Fix build with winldapSergei Nikulov2016-06-151-64/+63
| | | | | Bug: https://github.com/curl/curl/pull/874 Reported-by: Sergei Nikulov
* schannel: add CURLOPT_CERTINFO supportAndrew Kurushin2016-06-011-0/+1
| | | | Closes #822
* URLs: change all http:// URLs to https://Daniel Stenberg2016-02-031-2/+2
|
* cmake: fixed when OpenSSL enabled on Windows and schannel detectedSergei Nikulov2016-01-281-7/+14
| | | | Closes #617
* cmake: Fix for add_subdirectory(curl) use-caseJavier G. Sogo2015-10-191-2/+2
| | | | | | | | | | - Use CURL_BINARY_DIR instead of CMAKE_BINARY_DIR. When including CURL using add_subdirectory the variables CMAKE_BINARY_DIR and CURL_BINARY_DIR hold different paths. Closes https://github.com/bagder/curl/pull/488 Closes https://github.com/bagder/curl/pull/498
* CMake: Ensure discovered include dirs are consideredJakub Zakrzewski2015-09-231-4/+9
| | | | | | | ...during header checks. Otherwise some following header tests (incorrectly) fail. Closes #436
* cmake: IPv6 : disable Unix header check on Windows platformSergei Nikulov2015-09-081-1/+1
| | | | Closes #409
* cmake: added Windows SSL supportSergei Nikulov2015-08-251-4/+16
| | | | Closes #399
* CMake: s/HAVE_GSS_API/HAVE_GSSAPI/ to match header defineJakub Zakrzewski2015-08-101-4/+4
| | | | | | Otherwise the build only pretended to use GSS-API Closes #370
* openssl: remove all uses of USE_SSLEAYDaniel Stenberg2015-03-051-3/+0
| | | | | | | SSLeay was the name of the library that was subsequently turned into OpenSSL many moons ago (1999). curl does not work with the old SSLeay library since years. This is now reflected by only using USE_OPENSSL in code that depends on OpenSSL.
* cmake: handle build definitions CURLDEBUG/DEBUGBUILDSergei Nikulov2015-03-051-0/+18
| | | | Acked-by: Brad King
* CMake: fix winsock2 detection on windowsSergei Nikulov2015-02-191-15/+14
| | | | | | | | | | | | | | Set CMAKE_REQUIRED_DEFINITIONS to include definitions needed to get the winsock2 API from windows.h. Simplify the order of checks to avoid extra conditions. Use check_include_file instead of check_include_file_concat to look for OpenSSL headers. They do not need to participate in a sequence of dependent system headers. Also they may cause winsock.h to be included before ws2tcpip.h, causing the latter to not be detected in the sequence. Reviewed-by: Brad King <brad.king@kitware.com>
* ldap: Renamed the CURL_LDAP_WIN definition to USE_WIN32_LDAPSteve Holme2015-01-181-7/+7
| | | | | For consistency with other USE_WIN32_ defines as well as the USE_OPENLDAP define.
* code/docs: Use Unix rather than UNIX to avoid use of the trademarkSteve Holme2014-12-261-1/+1
| | | | | Use Unix when generically writing about Unix based systems as UNIX is the trademark and should only be used in a particular product's name.
* libcurl: add UNIX domain sockets supportPeter Wu2014-12-041-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ability to do HTTP requests over a UNIX domain socket has been requested before, in Apr 2008 [0][1] and Sep 2010 [2]. While a discussion happened, no patch seems to get through. I decided to give it a go since I need to test a nginx HTTP server which listens on a UNIX domain socket. One patch [3] seems to make it possible to use the CURLOPT_OPENSOCKETFUNCTION function to gain a UNIX domain socket. Another person wrote a Go program which can do HTTP over a UNIX socket for Docker[4] which uses a special URL scheme (though the name contains cURL, it has no relation to the cURL library). This patch considers support for UNIX domain sockets at the same level as HTTP proxies / IPv6, it acts as an intermediate socket provider and not as a separate protocol. Since this feature affects network operations, a new feature flag was added ("unix-sockets") with a corresponding CURL_VERSION_UNIX_SOCKETS macro. A new CURLOPT_UNIX_SOCKET_PATH option is added and documented. This option enables UNIX domain sockets support for all requests on the handle (replacing IP sockets and skipping proxies). A new configure option (--enable-unix-sockets) and CMake option (ENABLE_UNIX_SOCKETS) can disable this optional feature. Note that I deliberately did not mark this feature as advanced, this is a feature/component that should easily be available. [0]: http://curl.haxx.se/mail/lib-2008-04/0279.html [1]: http://daniel.haxx.se/blog/2008/04/14/http-over-unix-domain-sockets/ [2]: http://sourceforge.net/p/curl/feature-requests/53/ [3]: http://curl.haxx.se/mail/lib-2008-04/0361.html [4]: https://github.com/Soulou/curl-unix-socket Signed-off-by: Peter Wu <peter@lekensteyn.nl>
* cmake: add Kerberos to the supported featuresPeter Wu2014-11-191-0/+2
| | | | | | | Updated following commit eda919f and a4b7f71. Acked-by: Brad King <brad.king@kitware.com> Signed-off-by: Peter Wu <peter@lekensteyn.nl>
* cmake: fix NTLM detection when CURL_DISABLE_HTTP definedPeter Wu2014-11-191-2/+2
| | | | | | | Updated following changes in commit f0d860d. Acked-by: Brad King <brad.king@kitware.com> Signed-off-by: Peter Wu <peter@lekensteyn.nl>
* cmake: add ENABLE_THREADED_RESOLVER, rename ARESPeter Wu2014-11-101-6/+21
| | | | | | | | | | | | | | | | | | Fix detection of the AsynchDNS feature which not just depends on pthreads support, but also on whether USE_POSIX_THREADS is set or not. Caught by test 1014. This patch adds a new ENABLE_THREADED_RESOLVER option (corresponding to --enable-threaded-resolver of autotools) which also needs a check for HAVE_PTHREAD_H. For symmetry with autotools, CURL_USE_ARES is renamed to ENABLE_ARES (--enable-ares). Checks that test for the availability actually use USE_ARES instead as that is the result of whether a-res is available or not (in practice this does not matter as CARES is marked as required package, but nevertheless it is better to write the intent). Signed-off-by: Peter Wu <peter@lekensteyn.nl>
* cmake: fix HAVE_GETHOSTNAME definitionPeter Wu2014-11-101-0/+2
| | | | | | | | | | | Otherwise Curl_gethostname always fails. Windows has gethostname since Vista according to http://msdn.microsoft.com/en-us/library/ms738527%28VS.85%29.aspx, but accordings to byte_bucket's VC 2005 documentation, it is available even in Windows 95. (possibly after installing a Platform SDK, the Windows Server 2003 SP1 Platform SDK should be sufficient). Signed-off-by: Peter Wu <peter@lekensteyn.nl>
* cmake: fix ZLIB_INCLUDE_DIRS useK. R. Walker2014-11-041-1/+1
| | | | | | | CMake 2.8's FindZLIB.cmake documents ZLIB_INCLUDE_DIRS, see http://www.cmake.org/cmake/help/v2.8.0/cmake.html#module:FindZLIB Bug: https://github.com/bagder/curl/pull/123
* cmake: drop _BSD_SOURCE macro usagePeter Wu2014-11-031-3/+0
| | | | | | | | autotools does not use features.h nor _BSD_SOURCE. As this macro triggers warnings since glibc 2.20, remove it. It should not have functional differences. Signed-off-by: Peter Wu <peter@lekensteyn.nl>
* cmake: generate pkg-config and curl-configPeter Wu2014-10-201-0/+51
| | | | | | | | | | | | | | Initial work to generate a pkg-config and curl-config script. Static linking (`curl-config --static-libs` and `pkg-config --shared --libs libcurl`) is broken and therefore disabled. CONFIGURE_OPTIONS does not make sense for CMake, use an empty string for now. At least `curl-config --features` and `curl-config --protocols` work which is needed by runtests.pl. Signed-off-by: Peter Wu <peter@lekensteyn.nl>
* cmake: use LIBCURL_VERSION from curlver.hPeter Wu2014-10-201-16/+6
| | | | | | | This matches the behavior from autotools. The auxiliary major, minor and patch components are not needed anymore and therefore removed. Signed-off-by: Peter Wu <peter@lekensteyn.nl>
* cmake: add SUPPORT_FEATURES and SUPPORT_PROTOCOLSPeter Wu2014-10-201-0/+76
| | | | | | | | | | | For compatibility with autoconf, it will be used later for curl-config and pkg-config. Not all features and or protocols can be enabled as these are missing additional checks (see new TODOs). SUPPORT_PROTOCOLS is partially scripted (grep for SUPPORT_PROTOCOLS=) and manually verified/modified. SUPPORT_FEATURES is manually added. Signed-off-by: Peter Wu <peter@lekensteyn.nl>
* cmake: enable IPv6 by default if availablePeter Wu2014-10-131-1/+15
| | | | | | | | | | | | | ENABLE_IPV6 depends on HAVE_GETADDRINFO or you will get a Curl_getaddrinfo_ex error. Enable IPv6 by default, disabling it if struct sockaddr_in6 is not found in netinet/in.h. Note that HAVE_GETADDRINFO_THREADSAFE is still not set as it needs more platform checks even though POSIX requires a thread-safe getaddrinfo. Verified on Arch Linux x86_64 with glibc 2.20-2 and Linux 3.16-rc7. Signed-off-by: Peter Wu <peter@lekensteyn.nl>
* cmake: build tool_hugehelp (ENABLE_MANUAL)Peter Wu2014-10-121-0/+30
| | | | | | | | | Rather than always outputting an empty manual page for the '-M' option, generate a full manual page as done by autotools. For simplicity in CMake, always generate the gzipped page as it will not be used anyway when zlib is not available. Signed-off-by: Peter Wu <peter@lekensteyn.nl>
* Cmake: Build with GSSAPI (MIT or Heimdal)Jakub Zakrzewski2014-10-091-10/+64
| | | | | | | | | | | | It tries hard to recognise SDK's on different platforms. On windows MIT Kerberos installs SDK with other things and puts path into registry. Heimdal have separate zip archive. On linux pkg-config is tried, then krb5-config script and finally old-style libs and headers detection. Command line args: * CMAKE_USE_GSSAPI - enables GSSAPI detection * GSS_ROOT_DIR - if set, should point to the root of GSSAPI installation (the one with include and lib directories)
* Cmake: Got rid of setup_curl_dependenciesJakub Zakrzewski2014-10-091-18/+2
| | | | | | There is no need for such function. Include_directories propagate by themselves and having a function with one simple link statement makes little sense.
* Cmake: Fix library list provided to cURL tests.Jakub Zakrzewski2014-10-091-3/+3
| | | | | The list must be set after those nice CMake tests as we mess with CMAKE_REQUIRED_LIBRARIES there.
* Cmake: Check for OpenSSL before OpenLDAP.Jakub Zakrzewski2014-10-091-31/+32
| | | | | | OpenLDAP might have been build with OpenSSL. Checking for OpenLDAP first may result in undefined symbols. Of course, the found OpenSSL libraries must also be linked whenever OpenLDAP is.
* Cmake: Possibility to use OpenLDAP, OpenSSL, LibSSH2 on windowsJakub Zakrzewski2014-08-251-88/+120
| | | | | At this point I can build libcurl on windows. It provides at least the same list of protocols as for linux build and works with our software.
* Cmake: Removed useless comments from CMakeLists.txtJakub Zakrzewski2014-08-251-10/+0
| | | | They look like some relics after changes.
* Cmake: Append OpenSSL include directory to search pathJakub Zakrzewski2014-08-251-0/+1
| | | | | | | | At this point I can build libcurl with OpenSSL, OpenLDAP and LibSSH2. Supported protocols are at least: HTTP, HTTPS, FTP, SFTP, TFTP, LDAP, LDAPS, POP3, SMTP (those are the ones we have regression tests for in our product's testsuite)
* Cmake: Search for liblber, LDAP SSL headers, swith for using OpenLDAP code.Jakub Zakrzewski2014-08-251-1/+51
|
* Cmake: LibSSH2 detection and use.Jakub Zakrzewski2014-08-251-3/+35
|
* Cmake: Moved macros out of the main CMakeLists.txtJakub Zakrzewski2014-08-251-86/+2
|
* Cmake: Added missing protocol-disable switchesJakub Zakrzewski2014-08-251-0/+18
| | | | | They already have their defines in config.h. This makes it possible to disable the protocols from command line during configure step.
* Cmake: Require at least CMake 2.8.Jakub Zakrzewski2014-08-251-7/+7
| | | | | | | | CMake 2.6 is already a bit old. Many bugs have been fixed since its release. We use 2.8 in our company and we have no intention of polluting our environment with old software, so 2.6 would not be tested. This shouldn't be a problem since all one need to build CMake from source is C and C++ compiler.
* CMakeLists.txt: add standard curl source code headerDaniel Stenberg2014-01-011-0/+21
|