summaryrefslogtreecommitdiff
path: root/CMake
Commit message (Collapse)AuthorAgeFilesLines
* cmake: Export libcurl and curl targets to use by other cmake projectsJakub Zakrzewski2017-10-281-0/+59
| | | | | | | | | 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
* cmake: disable tests and man generation if perl/nroff not foundSergei Nikulov2017-10-021-0/+29
| | | | | | | | | | | | 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
* cmake: move cmake_uninstall.cmake to CMake/Daniel Stenberg2017-08-101-0/+26
| | | | Closes #1756
* cmake: fix send/recv argument scanner for windowsDaniel Stenberg2017-07-051-6/+6
| | | | | | ... by simply trying the Windows argument types first. Fixes #1640
* spelling fixesklemens2017-03-261-1/+1
| | | | Closes #1356
* CMake: Set at most one SSL libraryMichael Maltese2017-03-051-0/+13
| | | | Ref: https://github.com/curl/curl/pull/1228
* CMake: Add mbedTLS supportMichael Maltese2017-03-051-0/+13
| | | | Ref: https://github.com/curl/curl/pull/1228
* cmake: Support curl --xattr when built with cmakeSean Burford2017-02-011-0/+16
| | | | | | | - Test for and set HAVE_FSETXATTR when support for extended file attributes is present. Closes https://github.com/curl/curl/pull/1176
* cmake: disable poll for macOSPeter Wu2016-11-061-11/+14
| | | | | | Mirrors the autotools behavior introduced with curl-7_50_3-83-ga34c7ce. Fixes #1089
* cmake: add nghttp2 supportRemo E2016-10-101-0/+18
| | | | Closes #922
* CMake: Try to (un-)hide private library symbolsJakub Zakrzewski2016-09-101-0/+61
| | | | | | | | | | 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
* URLs: change all http:// URLs to https://Daniel Stenberg2016-02-031-1/+1
|
* CMake: Put "winsock2.h" before "windows.h" during configure checksJakub Zakrzewski2015-09-231-1/+1
| | | | | "windows.h" includes "winsock.h" what causes many redefinition errors if "winsock2.h" is included afterwards and can cause build to fail.
* cmake: Fix CurlTests check for gethostbyname_r with 5 argumentsBrad King2015-08-141-1/+1
| | | | | | 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).
* CMake: fix winsock2 detection on windowsSergei Nikulov2015-02-191-1/+1
| | | | | | | | | | | | | | 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>
* CMake: Simplify if() conditions on check result variablesBrad King2014-11-191-4/+4
| | | | | | | | | | | 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.
* CMake: Restore order-dependent library checksBrad King2014-11-131-3/+6
| | | | | | | | | | | | | 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>
* CMake: Restore order-dependent header checksBrad King2014-11-131-1/+4
| | | | | | | | | | | | | | | | | Revert commit 1269df2e3b (Cmake: Don't check for all headers each time, 2014-08-15) and add a comment explaining the purpose of the original code. The check_include_file_concat macro is intended to be called multiple times on a sequence of possibly dependent headers. Later headers may depend on earlier headers to provide declarations. They cannot be safely included independently on some platforms. For example, many POSIX APIs document including sys/types.h before some other headers. Also on some OS X versions sys/socket.h must be included before net/if.h or the check for the latter will fail. Signed-off-by: Brad King <brad.king@kitware.com>
* cmake: fix HAVE_GETHOSTNAME definitionPeter Wu2014-11-101-0/+1
| | | | | | | | | | | 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 struct sockaddr_storage checkPeter Wu2014-11-031-23/+5
| | | | | | | | | | | | | | | CHECK_TYPE_SIZE_PREINCLUDE is an internal, undocumented variable which was removed in cmake 2.8.1. According to the MSDN docs[1], inclusion of winsock2.h is sufficient. WIN32_LEAN_AND_MEAN does not really seem to affect the tests, so remove it too[2]. For the non-windows case, remove inet headers as POSIX only requires sys/socket.h. [1]: http://msdn.microsoft.com/en-us/library/windows/desktop/ms740504%28v=vs.85%29.aspx [2]: http://stackoverflow.com/questions/11040133/what-does-defining-win32-lean-and-mean-exclude-exactly Signed-off-by: Peter Wu <peter@lekensteyn.nl>
* cmake: clean OtherTests, fixing -WerrorPeter Wu2014-11-033-245/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were several -Wunused warnings and one duplicate macro definition. The EXTRA_DEFINES variable of the CurlCheckCSources macro was being abused ("__unused1\n#undef inline\n#define __unused2", seriously?) to insert extra C code. Avoid this broken abstraction and use cmake's check_c_source_compiles directly (works fine with CMake 2.8, maybe even cmake 2.6). After cleaning up all related variables (EXTRA_DEFINES, HEADER_INCLUDES, auxiliary headers_hack), also remove a duplicate add_headers_include macro and remove duplicate header additions before the struct timeval check. Oh, and now the code is converted to use CheckCSourceRuns and CheckCSourceCompiles, the two curl-specific helpers can be removed. Unfortunately, the cmake output is now slightly more verbose. Before: Performing Test int send(int, const void *, size_t, int) (curl_cv_func_send_test) Performing Test int send(int, const void *, size_t, int) (curl_cv_func_send_test) - Failed Since check_c_source_compiles prints the varname, now you see: Performing Test curl_cv_func_send_test Performing Test curl_cv_func_send_test - Failed Tested: int send(int, const void *, size_t, int) Compared cmake output with each other using vimdiff, no functional differences were found. Tested with GCC 4.9.1 and Clang 3.5.0. Signed-off-by: Peter Wu <peter@lekensteyn.nl>
* cmake: fix gethostby{addr,name}_r in CurlTestsPeter Wu2014-11-031-246/+70
| | | | | | | | | | | | | | | | | | | | | This patch cleans up the automatically-generated (?) code and fixes one case that will always fail due to syntax error. HAVE_GETHOSTBYADDR_R_5_REENTRANT always failed because of a trailing character ("int length;q"). Several parameter type and unused variable warnings popped up. This causes a detection failure with -Werror. Observe that the REENTRANT cases are exactly the same as their non-REENTRANT cases except for a `_REENTRANT` macro definition. Merge all these pieces and build one big main function with different cases, but reusing variables where logical. For the cases where the parameters where NULL, I looked at lib/hostip4.c to get an idea of the parameters types. void-cast variables such as 'rc' to avoid -Wuninitialized errors. Signed-off-by: Peter Wu <peter@lekensteyn.nl>
* cmake: drop _BSD_SOURCE macro usagePeter Wu2014-11-031-1/+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: Build with GSSAPI (MIT or Heimdal)Jakub Zakrzewski2014-10-091-0/+289
| | | | | | | | | | | | 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: Avoid cycle directory dependencies.Jakub Zakrzewski2014-10-091-3/+3
| | | | | | Because we prepended libraries to list, CMake had troubles resolving link directory order as it detected some cycles. Appending to list ensures that dependencies will preceed dependees.
* Cmake: Possibility to use OpenLDAP, OpenSSL, LibSSH2 on windowsJakub Zakrzewski2014-08-251-0/+3
| | | | | 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 repeated content from ending blocksJakub Zakrzewski2014-08-251-7/+7
| | | | They are unnecesary in modern CMake and removing them improves readability.
* Cmake: Removed some useless empty SET statements.Jakub Zakrzewski2014-08-251-4/+0
| | | | | Undefined variables resolve to empty strings and we do not ever test if the variable is defined thus those SETs are superfluous.
* Cmake: Don't check for all headers each timeJakub Zakrzewski2014-08-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One header at a time is the right way. Apart from that the output on windows goes from: ... -- Looking for include files I:/src/libssh2-1.4.3/include/libssh2.h, ws2tcpip.h -- Looking for include files I:/src/libssh2-1.4.3/include/libssh2.h, ws2tcpip.h - found -- Looking for 3 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., wins ock2.h -- Looking for 3 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., wins ock2.h - found -- Looking for 4 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., stdi o.h -- Looking for 4 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., stdi o.h - found -- Looking for 5 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., wind ows.h -- Looking for 5 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., wind ows.h - found -- Looking for 6 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., wins ock.h -- Looking for 6 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., wins ock.h - found -- Looking for 7 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., sys/ filio.h -- Looking for 7 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., sys/ filio.h - not found -- Looking for 7 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., sys/ ioctl.h -- Looking for 7 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., sys/ ioctl.h - not found -- Looking for 7 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., sys/ resource.h ... To much nicer: ... -- Looking for ws2tcpip.h -- Looking for ws2tcpip.h - found -- Looking for winsock2.h -- Looking for winsock2.h - found -- Looking for stdio.h -- Looking for stdio.h - found -- Looking for windows.h -- Looking for windows.h - found -- Looking for winsock.h -- Looking for winsock.h - found -- Looking for sys/filio.h -- Looking for sys/filio.h - not found -- Looking for sys/ioctl.h -- Looking for sys/ioctl.h - not found -- Looking for sys/resource.h
* Cmake: LibSSH2 detection and use.Jakub Zakrzewski2014-08-251-0/+35
|
* Cmake: Moved macros out of the main CMakeLists.txtJakub Zakrzewski2014-08-251-0/+89
|
* Cmake: Require at least CMake 2.8.Jakub Zakrzewski2014-08-252-31/+0
| | | | | | | | 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.
* cmake: fix Windows build with IPv6 supportDaniel Stenberg2013-11-091-1/+5
| | | | Patch-by: "Z98"
* cmake: use standard findxxx modules for cmake v2.8+Sergei Nikulov2012-09-172-13/+17
|
* removed execute file permissionYang Tse2011-12-301-0/+0
|
* removed trailing whitespaceYang Tse2011-12-301-1/+1
|
* sources: update source headersDaniel Stenberg2011-03-101-0/+21
| | | | | | All C and H files now (should) feature the proper project curl source code header, which includes basic info, a copyright statement and some basic disclaimers.
* CMake: Use upstream CheckTypeSize moduleBrad King2011-01-062-101/+0
| | | | | | | | | | | | | The CheckTypeSize module that comes with CMake 2.6.2 and above does everything we need and also supports cross-compiling. Avoid duplicating an older version of it here. This also fixes a cross-compiling error because the old line include ("${CMAKE_MODULE_PATH}/CheckTypeSize.cmake") failed because CMAKE_MODULE_PATH is a search path and not a directory. Signed-off-by: Brad King <brad.king@kitware.com>
* CMake fixes for Linux.Bill Hoffman2010-03-242-1/+5
| | | | | Make sure <sys/socket.h> is included if around when testing/using socklen_t. Also, disable LDAP if LDAP_H is not found on the system.
* replaced tabs with spacesYang Tse2010-02-162-3/+3
|
* removed trailing whitespaceYang Tse2010-02-143-12/+12
|
* BUG: curl did not build with cmake with VS 2005 for two reasons, ws2tcpip.h ↵Bill Hoffman2009-07-151-0/+1
| | | | requires winsock2.h to be included before it with that compiler, and wldap32 is not available with the default install of the compiler, so disable ldap support if that is not found
* ENH: add optional support for c-aresBill Hoffman2009-07-141-0/+42
|
* ENH: lower case cmake functions and remove tabs and re-indent cmake codeBill Hoffman2009-06-098-456/+456
|
* ENH: add some cmake docs and fix build with socklen_tBill Hoffman2009-06-061-0/+6
|
* removed pointless fileDaniel Stenberg2009-04-251-486/+0
|
* (Minor update) Moved some utilities to a separate file.Benoit Neil2009-04-091-0/+31
|
* Added basic OpenSSL support in CMake scripts (Thanks to Bill Hoffman)Benoit Neil2009-04-021-0/+19
|
* Initial CMake scripts (libcurl only), based on the merge of tetest scripts ↵Benoit Neil2009-04-0210-0/+1805
and mine. These are far to be functionnal yet. PS: Hello world :)