Skip to content
Snippets Groups Projects
  1. Nov 19, 2014
    • Brad King's avatar
      CMake: Simplify if() conditions on check result variables · fba9f41b
      Brad King authored
      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.
      fba9f41b
  2. Nov 13, 2014
    • Brad King's avatar
      CMake: Restore order-dependent library checks · 5f3824a5
      Brad King authored
      
      Revert commit 2257deb5 (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: default avatarBrad King <brad.king@kitware.com>
      5f3824a5
    • Brad King's avatar
      CMake: Restore order-dependent header checks · 1ae06e00
      Brad King authored
      
      Revert commit 1269df2e (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: default avatarBrad King <brad.king@kitware.com>
      1ae06e00
  3. Nov 10, 2014
  4. Nov 03, 2014
    • Peter Wu's avatar
      cmake: fix struct sockaddr_storage check · 5565d0ab
      Peter Wu authored
      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: default avatarPeter Wu <peter@lekensteyn.nl>
      5565d0ab
    • Peter Wu's avatar
      cmake: clean OtherTests, fixing -Werror · 8cb01014
      Peter Wu authored
      
      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: default avatarPeter Wu <peter@lekensteyn.nl>
      8cb01014
    • Peter Wu's avatar
      cmake: fix gethostby{addr,name}_r in CurlTests · aebfd4cf
      Peter Wu authored
      
      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: default avatarPeter Wu <peter@lekensteyn.nl>
      aebfd4cf
    • Peter Wu's avatar
      cmake: drop _BSD_SOURCE macro usage · b2bb51f3
      Peter Wu authored
      
      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: default avatarPeter Wu <peter@lekensteyn.nl>
      b2bb51f3
  5. Oct 09, 2014
    • Jakub Zakrzewski's avatar
      Cmake: Build with GSSAPI (MIT or Heimdal) · 558814e1
      Jakub Zakrzewski authored
      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)
      558814e1
    • Jakub Zakrzewski's avatar
      Cmake: Avoid cycle directory dependencies. · 2257deb5
      Jakub Zakrzewski authored
      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.
      2257deb5
  6. Aug 25, 2014
    • Jakub Zakrzewski's avatar
      Cmake: Possibility to use OpenLDAP, OpenSSL, LibSSH2 on windows · f646e907
      Jakub Zakrzewski authored
      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.
      f646e907
    • Jakub Zakrzewski's avatar
      Cmake: Removed repeated content from ending blocks · ba879508
      Jakub Zakrzewski authored
      They are unnecesary in modern CMake and removing them improves readability.
      ba879508
    • Jakub Zakrzewski's avatar
      Cmake: Removed some useless empty SET statements. · 06de7d69
      Jakub Zakrzewski authored
      Undefined variables resolve to empty strings and we do not ever test if
      the variable is defined thus those SETs are superfluous.
      06de7d69
    • Jakub Zakrzewski's avatar
      Cmake: Don't check for all headers each time · 1269df2e
      Jakub Zakrzewski authored
      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
      1269df2e
    • Jakub Zakrzewski's avatar
      Cmake: LibSSH2 detection and use. · 118977f1
      Jakub Zakrzewski authored
      118977f1
    • Jakub Zakrzewski's avatar
      88c17d55
    • Jakub Zakrzewski's avatar
      Cmake: Require at least CMake 2.8. · 14aa8f0c
      Jakub Zakrzewski authored
      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.
      14aa8f0c
  7. Nov 08, 2013
  8. Sep 17, 2012
  9. Dec 30, 2011
  10. Mar 10, 2011
    • Daniel Stenberg's avatar
      sources: update source headers · 1aeb635c
      Daniel Stenberg authored
      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.
      1aeb635c
  11. Jan 05, 2011
    • Brad King's avatar
      CMake: Use upstream CheckTypeSize module · 651c0bcd
      Brad King authored
      
      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: default avatarBrad King <brad.king@kitware.com>
      651c0bcd
  12. Mar 24, 2010
    • Bill Hoffman's avatar
      CMake fixes for Linux. · 5709a0dc
      Bill Hoffman authored
      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.
      5709a0dc
  13. Feb 16, 2010
    • Yang Tse's avatar
      · 46b112bc
      Yang Tse authored
      replaced tabs with spaces
      46b112bc
  14. Feb 14, 2010
    • Yang Tse's avatar
      · a07bc791
      Yang Tse authored
      removed trailing whitespace
      a07bc791
  15. Jul 15, 2009
  16. Jul 14, 2009
  17. Jun 09, 2009
  18. Jun 06, 2009
  19. Apr 25, 2009
  20. Apr 09, 2009
  21. Apr 02, 2009
Loading