aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
AgeCommit message (Collapse)Author
2018-10-01CMake: Improve config installationRuslan Baratov
Use 'GNUInstallDirs' standard module to set destinations of installed files. Use uppercase "CURL" names instead of lowercase "curl" to match standard 'FindCURL.cmake' CMake module: * https://cmake.org/cmake/help/latest/module/FindCURL.html Meaning: * Install 'CURLConfig.cmake' instead of 'curl-config.cmake' * User should call 'find_package(CURL)' instead of 'find_package(curl)' Use 'configure_package_config_file' function to generate 'CURLConfig.cmake' file. This will make 'curl-config.cmake.in' template file smaller and handle components better. E.g. current configuration report no error if user specified unknown components (note: new configuration expects no components, report error if user will try to specify any). Closes https://github.com/curl/curl/pull/2849
2018-09-28cmake: Backport to work with CMake 3.0 againBrad King
Changes in commit 7867aaa9a0 (cmake: link curl to the OpenSSL targets instead of lib absolute paths, 2018-07-17) and commit f826b4ce98 (cmake: bumped minimum version to 3.4, 2018-07-19) required CMake 3.4 to fix issue #2746. This broke support for users on older versions of CMake even if they just want to build curl and do not care whether transitive dependencies work. Backport the logic to work with CMake 3.0 again by implementing the fix only when the version of CMake is at least 3.4.
2018-08-08CMake: Respect BUILD_SHARED_LIBSRuslan Baratov
Use standard CMake variable BUILD_SHARED_LIBS instead of introducing custom option CURL_STATICLIB. Use '-DBUILD_SHARED_LIBS=%SHARED%' in appveyor.yml. Reviewed-by: Sergei Nikulov Closes #2755
2018-08-08cmake: bumped minimum version to 3.4John Butterfield
Closes #2753
2018-08-08cmake: link curl to the OpenSSL targets instead of lib absolute pathsJohn Butterfield
Reviewed-by: Jakub Zakrzewski Reviewed-by: Sergei Nikulov Closes #2753
2018-07-17CMake: Update scripts to use consistent styleRuslan Baratov
Closes #2727 Reviewed-by: Sergei Nikulov
2018-07-09CMake: remove redundant and old end-of-block syntaxRuslan Baratov
Reviewed-by: Jakub Zakrzewski Closes #2715
2018-07-06CMake: Remove unused 'output_var' from 'collect_true'Ruslan Baratov
Variable 'output_var' is not used and can be removed. Function 'collect_true' renamed to 'count_true'.
2018-06-21cmake: allow multiple SSL backendsRaphael Gozzo
This will make possible to select the SSL backend (using curl_global_sslset()) even when the libcurl is built using CMake Closes #2665
2018-06-11openssl: assume engine support in 1.0.1 or laterDaniel Stenberg
Previously it was checked for in configure/cmake, but that would then leave other build systems built without engine support. While engine support probably existed prior to 1.0.1, I decided to play safe. If someone experience a problem with this, we can widen the version check. Fixes #2641 Closes #2644
2018-05-30curl.rc: embed manifest for correct Windows version detectionViktor Szakats
* enable it in `src/Makefile.m32` * enable it in `winbuild/MakefileBuild.vc` if a custom manifest is _not_ enabled via the existing `EMBED_MANIFEST` option * enable it for all Windows CMake builds (also disable the built-in minimal manifest, added by CMake by default.) For other build systems, add the `-DCURL_EMBED_MANIFEST` option to the list of RC (Resource Compiler) flags to enable the manifest included in `src/curl.rc`. This may require to disable whatever automatic or other means in which way another manifest is added to `curl.exe`. Notice that Borland C doesn't support this method due to a long-pending resource compiler bug. Watcom C may also not handle it correctly when the `-zm` `wrc` option is used (this option may be unnecessary though) and regardless of options in certain earlier revisions of the 2.0 beta version. Closes https://github.com/curl/curl/pull/1221 Fixes https://github.com/curl/curl/issues/2591
2018-05-28cmake: check for getpwuid_rBernhard Walle
The autotools-based build system does it, so we do it also in CMake. Bug: #2609 Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
2018-05-28Fix the test for fsetxattr and strerror_r tests in CMake to work without ↵maxed
compiling
2018-05-24cmake: set -d postfix for debug builds if not specifiedSergei Nikulov
using -DCMAKE_DEBUG_POSTFIX explicitly fixes #2121, obsoletes #2384
2018-03-27cmake: Add advapi32 as explicit link library for win32Michał Janiszewski
ARM targets need advapi32 explicitly. Closes #2363
2018-03-22cmake: avoid warn-as-error during config checks (#2411)Sergei Nikulov
- Move the CURL_WERROR option processing after the configuration checks to avoid failures in case of warnings during the configuration checks. This is a partial fix for #2358
2018-03-19cmake: add support for brotliDon
Currently CMake cannot detect Brotli support. This adds detection of the libraries and associated header files. It also adds this to the generated config. Closes #2392
2018-01-05build: remove HAVE_LIMITS_H checkJay Satiro
.. because limits.h presence isn't optional, it's required by C89. Ref: http://port70.net/~nsz/c/c89/c89-draft.html#2.2.4.2 Closes https://github.com/curl/curl/pull/2215
2017-11-10cmake: Add missing setmode checkJohn Starks
Ensure HAVE_SETMODE is set to 1 on OSes that have setmode. Without this, curl will corrupt binary files when writing them to stdout on Windows. Closes https://github.com/curl/curl/pull/2067
2017-10-30timeval: use mach time on MacOSDmitri Tikhonov
If clock_gettime() is not supported, use mach_absolute_time() on MacOS. closes #2033
2017-10-28cmake: Export libcurl and curl targets to use by other cmake projectsJakub Zakrzewski
The config files define curl and libcurl targets as imported targets CURL::curl and CURL::libcurl. For backward compatibility with CMake- provided find-module the CURL_INCLUDE_DIRS and CURL_LIBRARIES are also set. Closes #1879
2017-10-09openssl: enable PKCS12 support for !BoringSSLDaniel Stenberg
Enable PKCS12 for all non-boringssl builds without relying on configure or cmake checks. Bug: https://curl.haxx.se/mail/lib-2017-10/0007.html Reported-by: Christian Schmitz Closes #1948
2017-10-02cmake: disable tests and man generation if perl/nroff not foundSergei Nikulov
Fixes https://github.com/curl/curl/issues/1500 Reported-by: Jay Satiro Fixes https://github.com/curl/curl/pull/1662 Assisted-by: Tom Seddon Assisted-by: dpull@users.noreply.github.com Assisted-by: elelel@users.noreply.github.com Closes https://github.com/curl/curl/pull/1924
2017-08-20cmake: enable picky compiler options with clang and gccDaniel Stenberg
closes #1799
2017-08-17cmake: sizeof curl_off_t, remove unused detectionsDaniel Stenberg
2017-08-15cmake: remove dead code for DISABLED_THREADSAFEBenbuck Nason
Closes #1786
2017-08-13cmake: Threads detection update. ref: #1702Sergei Nikulov
Closes #1719
2017-08-12cmake: allow user to override CMAKE_DEBUG_POSTFIXSimon Warta
Closes #1763
2017-08-10cmake: move cmake_uninstall.cmake to CMake/Daniel Stenberg
Closes #1756
2017-08-04CMake: fix CURL_WERROR for MSVCMarcel Raad
When using CURL_WERROR in MSVC builds, the debug flags were overridden by the release flags and /WX got added twice in debug mode. Closes https://github.com/curl/curl/pull/1715
2017-08-03CMake: set MSVC warning level to 4Marcel Raad
The MSVC warning level defaults to 3 in CMake. Change it to 4, which is consistent with the Visual Studio and NMake builds. Disable level 4 warning C4127 for the library and additionally C4306 for the test servers to get a clean CURL_WERROR build as that warning is raised in some macros in older Visual Studio versions. Ref: https://github.com/curl/curl/pull/1667#issuecomment-314082794 Closes https://github.com/curl/curl/pull/1711
2017-07-30cmake: support make uninstalljasjuang
Closes #1674
2017-07-07cmake: offer CMAKE_DEBUG_POSTFIX when building with MSVCPaul Harris
Removes BUILD_RELEASE_DEBUG_DIRS since it wasn't used anywhere. Closes #1649
2017-07-06cmake: add CURL_WERROR for enabling "warning as errors"Daniel Stenberg
2017-07-06cmake: remove spurious "-l" from linker flagsHannes Magnusson
Fixes #1552
2017-07-05cmake: if inet_pton is used, bump _WIN32_WINNTDaniel Stenberg
... and make sure inet_pton is always checked for when *not* using Windows, which is a regression from 4fc6ebe18. Idea-by: Sergei Nikulov
2017-07-02cmake: Added compatibility options for older Windows versionsPer Malmberg
CURL_STATIC_CRT and ENABLE_INET_PTON Closes #1621
2017-06-14includes: remove curl/curlbuild.h and curl/curlrules.hDaniel Stenberg
Rely entirely on curl/system.h now. Introduced in Aug 2008 with commit 14240e9e109f. Now gone. Fixes #1456
2017-06-08cmake: Fix inconsistency regarding mbed TLS include directoryTheAssassin
Previously, one had to set MBEDTLS_INCLUDE_DIR to make CMake find the headers, but the system complained that mbed TLS wasn't found due to MBEDTLS_INCLUDE_DIRS (note the trailing s) was not set. This commit attempts to fix that. Closes https://github.com/curl/curl/pull/1541
2017-05-23cmake: fix build on Ubuntu 14.04Akhil Kedia
Fixed a syntax error with setting cache variables (The type and docstring were missing), resulting in build errors. Quoted the CURL_CA_PATH and CURL_CA_BUNDLE otherwise the path was written without quotes in C code, resulting in build errors. Closes #1503 Signed-off-by: Akhil <akhil.kedia@samsung.com>
2017-05-21cmake: remove unused variables: GNUTLS_ENABLED, NSS_ENABLEDSimon Warta
2017-05-21cmake: remove CURL_CA_BUNDLE from cmake TODOSimon Warta
2017-05-21cmake: auto detection of CURL_CA_BUNDLE/CURL_CA_PATHSimon Warta
Closes #1461
2017-05-21cmake: add CURL_CA_BUNDLE/CURL_CA_FALLBACK/CURL_CA_PATH optionsSimon Warta
2017-03-21cmake: build manual pages (including curl.1)Peter Wu
Also make Perl mandatory to allow building the docs. While CMakeLists.txt could probably read the list of manual pages from Makefile.am, actually putting those in CMakeLists.txt is cleaner so that is what is done here. Fixes #1230 Ref: https://github.com/curl/curl/pull/1288
2017-03-05CMake: Set at most one SSL libraryMichael Maltese
Ref: https://github.com/curl/curl/pull/1228
2017-03-05CMake: Add mbedTLS supportMichael Maltese
Ref: https://github.com/curl/curl/pull/1228
2017-03-05CMake: Add DarwinSSL supportMichael Maltese
Assisted-by: Simon Warta <simon@kullo.net> Ref: https://github.com/curl/curl/pull/1228
2017-03-05CMake: Reorganize SSL support, separate WinSSL and SSPIMichael Maltese
This is closer to how configure.ac does it Ref: https://github.com/curl/curl/pull/1228
2017-02-25cmake: Replace invalid UTF-8 byte sequenceSimon Warta
- Change the encoding of the regex temp placeholder token to UTF-8. Prior to this change the file contained special chars in a different encoding than ASCII or UTF-8 making text editors and Python complain when reading the file. Closes https://github.com/curl/curl/pull/1271 Closes https://github.com/curl/curl/pull/1275