summaryrefslogtreecommitdiffstats
path: root/Source/cmCurl.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2015-01-22 15:15:31 (GMT)
committerBrad King <brad.king@kitware.com>2015-01-23 13:57:32 (GMT)
commit0abd3e538eb92259e52c3d330e46dac7aa0be332 (patch)
treec43acd5147b5120bbbe15522568b899ebab2a9e6 /Source/cmCurl.h
parent6ce346c53c67ba970cd04f0d8436aab006dbec71 (diff)
downloadCMake-0abd3e538eb92259e52c3d330e46dac7aa0be332.zip
CMake-0abd3e538eb92259e52c3d330e46dac7aa0be332.tar.gz
CMake-0abd3e538eb92259e52c3d330e46dac7aa0be332.tar.bz2
cmake: Use a default CA path when not using system curl
When using system curl, we trust it to be configured with desired CA certs. When using our own build of curl, we use os-configured CA certs on Windows and OS X. On other systems, try to achieve this by searching for common CA cert locations. According to a brief investigation, the curl packages on popular Linux distros are currently configured as: * Arch: /etc/ssl/certs/ca-certificates.crt * Debian with OpenSSL: /etc/ssl/certs * Debian with GNU TLS: /etc/ssl/certs/ca-certificates.crt * Debian with NSS: /etc/ssl/certs/ca-certificates.crt * Fedora: /etc/pki/tls/certs/ca-bundle.crt * Gentoo with OpenSSL: /etc/ssl/certs * Gentoo without OpenSSL: /etc/ssl/certs/ca-certificates.crt Teach CMake and CTest to look for these paths and use them as a CA path or bundle when no other os-configured or user-specified CAs are available.
Diffstat (limited to 'Source/cmCurl.h')
-rw-r--r--Source/cmCurl.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/Source/cmCurl.h b/Source/cmCurl.h
new file mode 100644
index 0000000..0c5609c
--- /dev/null
+++ b/Source/cmCurl.h
@@ -0,0 +1,21 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2000-2015 Kitware, Inc., Insight Software Consortium
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+#ifndef cmCurl_h
+#define cmCurl_h
+
+#include <cmsys/Configure.h>
+#include "cm_curl.h"
+#include "cmStandardIncludes.h"
+
+std::string cmCurlSetCAInfo(::CURL *curl, const char* cafile = 0);
+
+#endif