Go to file
Gregor Jasny f777e752c6
cmake: Avoid leaking absolute paths into exported config
The `find_libarary` command resolves the library or framework
into an absolute path. In case of system frameworks which are
located within an Xcode-provided SDK this results in the Xcode
path and SDK version being part of the library path.

Because those library paths end up in the exported CMake config
importing curl will fail once the Xcode location or SDK version
changes:

```cmake
set_target_properties(CURL::libcurl PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "lber;ldap;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/SystemConfiguration.framework;OpenSSL::SSL;OpenSSL::Crypto;ZLIB::ZLIB"
)
```

A work-around is to link against system-level frameworks with
`-framework XYZ`. In case of `SystemConfiguration` we might be able
to omit the lookup-check because we could assume the framework is
always present.

Closes #7152
2021-06-06 17:05:28 +02:00
.github github: remove the cmake macOS gcc-8 jobs 2021-06-04 08:30:26 +02:00
.muse
CMake cmake: try well-known send/recv signature for Apple 2021-06-01 08:44:07 +02:00
docs TODO: Support rate-limiting for MQTT 2021-06-04 15:57:02 +02:00
include CURLE_SETOPT_OPTION_SYNTAX: new error name for wrong setopt syntax 2021-06-02 23:03:55 +02:00
lib http2_connisdead: handle trailing GOAWAY better 2021-06-05 23:45:31 +02:00
m4 lib/hostip6.c: make NAT64 address synthesis on macOS work 2021-05-25 12:45:56 +02:00
packages define: re-add CURL_DISABLE_NTLM and corresponding ifdefs 2021-06-02 08:55:00 +02:00
plan9
projects copyright: update copyright year ranges to 2021 2021-03-27 23:00:14 +01:00
scripts travis: add bearssl build 2021-05-26 14:43:56 +02:00
src copyright: update copyright year ranges to 2021 2021-05-26 08:18:11 +02:00
tests tests/data/Makefile.inc: error: trailing backslash on last line 2021-06-04 16:52:34 +02:00
winbuild
.azure-pipelines.yml CI/azure: increase verbosity and fix outdated task names 2021-05-16 11:23:59 +02:00
.cirrus.yml CI/cirrus: add shared and static Windows release builds 2021-05-16 11:23:47 +02:00
.dcignore
.dir-locals.el
.gitattributes
.gitignore
.lgtm.yml ci: adapt to configure requiring an explicit TLS choice 2021-04-22 23:19:47 +02:00
.mailmap
.travis.yml runtests: enable 'hyper mode' only for HTTP tests 2021-06-03 23:08:47 +02:00
acinclude.m4 configure: include <time.h> unconditionally 2021-04-07 16:08:01 +02:00
appveyor.yml ci: adapt to configure requiring an explicit TLS choice 2021-04-22 23:19:47 +02:00
buildconf
buildconf.bat
CHANGES
CMakeLists.txt cmake: Avoid leaking absolute paths into exported config 2021-06-06 17:05:28 +02:00
configure.ac configure: add --disable-ntlm option 2021-06-02 08:55:00 +02:00
COPYING
curl-config.in
GIT-INFO GIT-INFO: suggest using autoreconf instead of buildconf 2021-05-08 10:55:34 +02:00
libcurl.pc.in
MacOSX-Framework
Makefile.am
Makefile.dist configure: provide --with-openssl, deprecate --with-ssl 2021-04-15 09:08:34 +02:00
maketgz
README
README.md README: link to the commercial support option 2021-04-23 08:59:08 +02:00
RELEASE-NOTES RELEASE-NOTES: synced 2021-06-02 08:18:08 +02:00
SECURITY.md

curl logo

CII Best Practices Coverity passed Travis-CI Build Status AppVeyor Build Status Azure DevOps Build Status Cirrus Build Status Backers on Open Collective Sponsors on Open Collective Language Grade: C/C++ Codacy Badge Fuzzing Status

Curl is a command-line tool for transferring data specified with URL syntax. Find out how to use curl by reading the curl.1 man page or the MANUAL document. Find out how to install Curl by reading the INSTALL document.

libcurl is the library curl is using to do its job. It is readily available to be used by your software. Read the libcurl.3 man page to learn how!

You can find answers to the most frequent questions we get in the FAQ document.

Study the COPYING file for distribution terms.

Contact

If you have problems, questions, ideas or suggestions, please contact us by posting to a suitable mailing list.

All contributors to the project are listed in the THANKS document.

Commercial support

For commercial support, maybe private and dedicated help with your problems or applications using (lib)curl: https://curl.se/support.html

Website

Visit the curl website for the latest news and downloads.

Git

To download the very latest source from the Git server do this:

git clone https://github.com/curl/curl.git

(you'll get a directory named curl created, filled with the source code)

Security problems

Report suspected security problems via our HackerOne page and not in public!

Notice

Curl contains pieces of source code that is Copyright (c) 1998, 1999 Kungliga Tekniska Högskolan. This notice is included here to comply with the distribution terms.

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]