aboutsummaryrefslogtreecommitdiff
path: root/CMake
AgeCommit message (Collapse)Author
2020-03-16cmake: add support for building with wolfSSLDaniel Stenberg
My working build cmdline: $ cmake -DCMAKE_PREFIX_PATH=$HOME/build-wolfssl -DCMAKE_USE_WOLFSSL=ON . Assisted-by: Brad King Closes #5095
2020-02-29CMake: clean up and improve build proceduresRolf Eike Beer
- remove check for unsupported old CMake versions - do not link to c-ares library twice - modernize custom Find modules - FindLibSSH2: - pass version to FPHSA to show it in the output - use LIBSSH2_VERSION define to extract the version number in one shot. This variable exists in the header for 10 years. - remove unneeded code - FindNGHTTP2.cmake: - drop needless FPHSA argument - mark found variables as advanced - FindNSS.cmake: - show version number - FindCARES.cmake: - drop default paths - use FPHSA instead of checking things by hand - remove needless explict variable dereference - simplify count_true() - allow all policies up to version 3.16 to be set to NEW - do not rerun check for -Wstrict-aliasing=3 every time In contrast to every other compiler flag this has a = in it, which CMake can't have in a variable name. - only read the interesting strings from curlver.h Reviewed-by: Peter Wu Closes https://github.com/curl/curl/pull/4975
2020-01-11cmake: Improve libssh2 check on Windowsnicoguillier
- Add "libssh2" name to FindLibSSH2 library search. On Windows systems, libSSH2 CMake installation may name the library "LibSSH2". Prior to this change cmake only checked for name "ssh2". On Linux that works fine because it will prepend the "lib", but it doesn't do that on Windows. Closes https://github.com/curl/curl/pull/4804
2019-12-04CMake: add support for building with the NSS vtls backendPeter Wu
Options are cross-checked with configure.ac and acinclude.m4. Tested on Arch Linux, untested on other platforms like Windows or macOS. Closes #4663 Reviewed-by: Kamil Dudka
2019-11-26TLS: add BearSSL vtls implementationMichael Forney
Closes #4597
2019-11-02copyrights: update all copyright notices to 2019 on files changed this yearVilhelm Prytz
Closes #4547
2019-10-05build: Remove unused HAVE_LIBSSL and HAVE_LIBCRYPTO definesPaul B. Omta
Closes https://github.com/curl/curl/pull/4460
2019-08-31CMake: remove needless newlines at end of gss variablesRolf Eike Beer
2019-07-09CMake: fix typos and spellingDaniel Gustafsson
2019-07-09CMake: Convert errant elseif() to else()Kyle Edwards
CMake interprets an elseif() with no arguments as elseif(FALSE), resulting in the elseif() block not being executed. That is not what was intended here. Change the empty elseif() to an else() as it was intended. Closes #4101 Reported-by: Artalus <artalus-mail@yandex.ru> Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
2019-06-05build: fix Codacy warningsMarcel Raad
Reduce variable scopes and remove redundant variable stores. Closes https://github.com/curl/curl/pull/3975
2019-05-12cmake: restore C89 compatibility of CurlTests.cMarcel Raad
I broke it in d1b5cf830bfe169745721b21245d2217d2c2453e and 97de97daefc2ed084c91eff34af2426f2e55e134. Reported-by: Viktor Szakats Ref: https://github.com/curl/curl/commit/97de97daefc2ed084c91eff34af2426f2e55e134#commitcomment-33499044 Closes https://github.com/curl/curl/pull/3868
2019-05-11CMake: suppress unused variable warningsMarcel Raad
I missed these in commit d1b5cf830bfe169745721b21245d2217d2c2453e.
2019-04-11build: fix Codacy/CppCheck warningsMarcel Raad
- remove unused variables - declare conditionally used variables conditionally - suppress unused variable warnings in the CMake tests - remove dead variable stores - consistently use WIN32 macro to detect Windows Closes https://github.com/curl/curl/pull/3739
2019-04-10cmake: avoid linking executable for some tests with cmake 3.6+Jakub Zakrzewski
With CMAKE_TRY_COMPILE_TARGET_TYPE set to STATIC_LIBRARY, the try_compile() (which is used by check_c_source_compiles()) will build static library instead of executable. This avoids linking additional libraries in and thus speeds up those checks a little. This commit also avoids #3743 (GSSAPI build errors) on itself with cmake 3.6 or above. That issue was fixed separately for all versions. Ref: #3744
2019-01-16cmake: updated check for HAVE_POLL_FINE to match autotoolsSergei Nikulov
2019-01-11cmake: added checks for HAVE_VARIADIC_MACROS_C99 and HAVE_VARIADIC_MACROS_GCCSergei Nikulov
2018-11-29CMake: fix MIT/Heimdal Kerberos detectionKonstantin Kushnir
- fix syntax error in FindGSS.cmake - correct krb5 include directory. FindGSS exports "GSS_INCLUDE_DIR" variable. Closes https://github.com/curl/curl/pull/3316
2018-10-29cmake: uniform ZLIB to use USE_ variable and clean curl-config.cmake.inTuomo Rinne
Closes #3123
2018-10-29cmake: add find_dependency call for ZLIB to CMake config fileTuomo Rinne
2018-10-05cmake: test and set missed defines during configurationdmitrykos
Added configuration checks for HAVE_BUILTIN_AVAILABLE and HAVE_CLOCK_GETTIME_MONOTONIC. Closes #3097
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-23whitespace fixesViktor Szakats
- replace tabs with spaces where possible - remove line ending spaces - remove double/triple newlines at EOF - fix a non-UTF-8 character - cleanup a few indentations/line continuations in manual examples Closes https://github.com/curl/curl/pull/3037
2018-09-18cmake: don't require OpenSSL if USE_OPENSSL=OFFslodki
User must have OpenSSL installed even if not used by libcurl at all since 7.61.1 release. Broken at 7867aaa9a01decf93711428462335be8cef70212 Reviewed-by: Sergei Nikulov Closes #3001
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-07-06CMake: Remove unused functionsRuslan Baratov
Closes #2711
2018-05-29cmake: fixed comments in compile checks codeSergei Nikulov
2018-05-28Fix the test for fsetxattr and strerror_r tests in CMake to work without ↵maxed
compiling
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-02-23spelling fixesViktor Szakats
Detected using the `codespell` tool. Also contains one URL protocol upgrade. Closes https://github.com/curl/curl/pull/2334
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-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-10cmake: move cmake_uninstall.cmake to CMake/Daniel Stenberg
Closes #1756
2017-07-05cmake: fix send/recv argument scanner for windowsDaniel Stenberg
... by simply trying the Windows argument types first. Fixes #1640
2017-03-26spelling fixesklemens
Closes #1356
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-02-01cmake: Support curl --xattr when built with cmakeSean Burford
- Test for and set HAVE_FSETXATTR when support for extended file attributes is present. Closes https://github.com/curl/curl/pull/1176
2016-11-06cmake: disable poll for macOSPeter Wu
Mirrors the autotools behavior introduced with curl-7_50_3-83-ga34c7ce. Fixes #1089
2016-10-10cmake: add nghttp2 supportRemo E
Closes #922
2016-09-10CMake: Try to (un-)hide private library symbolsJakub Zakrzewski
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
2016-02-03URLs: change all http:// URLs to https://Daniel Stenberg
2015-09-23CMake: Put "winsock2.h" before "windows.h" during configure checksJakub Zakrzewski
"windows.h" includes "winsock.h" what causes many redefinition errors if "winsock2.h" is included afterwards and can cause build to fail.
2015-08-14cmake: Fix CurlTests check for gethostbyname_r with 5 argumentsBrad King
Fix the check code to pass 5 arguments instead of 6. This typo was introduced by commit aebfd4cfbf (cmake: fix gethostby{addr,name}_r in CurlTests, 2014-10-31).
2015-02-19CMake: fix winsock2 detection on windowsSergei Nikulov
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>
2014-11-19CMake: Simplify if() conditions on check result variablesBrad King
Remove use of an old hack that takes advantage of the auto-dereference behavior of the if() command to detect if a variable is defined. The hack has the form: if("${VAR} MATCHES "^${VAR}$") where "${VAR}" is a macro argument reference. Use if(DEFINED) instead. This also avoids warnings for CMake Policy CMP0054 in CMake 3.1.
2014-11-13CMake: Restore order-dependent library checksBrad King
Revert commit 2257deb502 (Cmake: Avoid cycle directory dependencies, 2014-08-22) and add a comment explaining the purpose of the original code. The check_library_exists_concat macro is intended to be called multiple times on a sequence of possibly dependent libraries. Later libraries may depend on earlier libraries when they are static. They cannot be safely linked in reverse order on some platforms. Signed-off-by: Brad King <brad.king@kitware.com>