FindSSL.cmake 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. # Once done these will be defined:
  2. #
  3. # SSL_FOUND
  4. # SSL_INCLUDE_DIRS
  5. # SSL_LIBRARIES
  6. #
  7. # For use in OBS:
  8. #
  9. # SSL_INCLUDE_DIR
  10. find_package(PkgConfig QUIET)
  11. if (PKG_CONFIG_FOUND)
  12. pkg_check_modules(_CRYPTO QUIET libcrypto)
  13. pkg_check_modules(_SSL QUIET libssl)
  14. endif()
  15. if(CMAKE_SIZEOF_VOID_P EQUAL 8)
  16. set(_lib_suffix 64)
  17. else()
  18. set(_lib_suffix 32)
  19. endif()
  20. set(_SSL_BASE_HINTS
  21. ENV sslPath${_lib_suffix}
  22. ENV sslPath
  23. ENV DepsPath${_lib_suffix}
  24. ENV DepsPath
  25. ${sslPath${_lib_suffix}}
  26. ${sslPath}
  27. ${DepsPath${_lib_suffix}}
  28. ${DepsPath})
  29. set(_SSL_LIB_SUFFIXES
  30. lib${_lib_suffix} lib
  31. libs${_lib_suffix} libs
  32. bin${_lib_suffix} bin
  33. ../lib${_lib_suffix} ../lib
  34. ../libs${_lib_suffix} ../libs
  35. ../bin${_lib_suffix} ../bin)
  36. find_path(SSL_INCLUDE_DIR
  37. NAMES openssl/ssl.h
  38. HINTS
  39. ${_SSL_BASE_HINTS}
  40. ${_CRYPTO_INCLUDE_DIRS}
  41. ${_SSL_INCLUDE_DIRS}
  42. PATHS
  43. /usr/include /usr/local/include /opt/local/include /sw/include
  44. PATH_SUFFIXES
  45. include)
  46. find_library(_SSL_LIB
  47. NAMES ${_SSL_LIBRARIES} ssleay32 ssl
  48. HINTS
  49. ${_SSL_BASE_HINTS}
  50. ${_SSL_LIBRARY_DIRS}
  51. PATHS
  52. /usr/lib /usr/local/lib /opt/local/lib /sw/lib
  53. PATH_SUFFIXES ${_SSL_LIB_SUFFIXES})
  54. find_library(_CRYPTO_LIB
  55. NAMES ${_CRYPTO_LIBRARIES} libeay32 crypto
  56. HINTS
  57. ${_SSL_BASE_HINTS}
  58. ${_CRYPTO_LIBRARY_DIRS}
  59. PATHS
  60. /usr/lib /usr/local/lib /opt/local/lib /sw/lib
  61. PATH_SUFFIXES ${_SSL_LIB_SUFFIXES})
  62. include(FindPackageHandleStandardArgs)
  63. find_package_handle_standard_args(ssl DEFAULT_MSG _SSL_LIB _CRYPTO_LIB SSL_INCLUDE_DIR)
  64. mark_as_advanced(SSL_INCLUDE_DIR _SSL_LIB _CRYPTO_LIB)
  65. if(SSL_FOUND)
  66. set(SSL_INCLUDE_DIRS ${SSL_INCLUDE_DIR})
  67. set(SSL_LIBRARIES ${_SSL_LIB} ${_CRYPTO_LIB})
  68. endif()