CMake not able to find OpenSSL library

前端 未结 13 1996
一生所求
一生所求 2020-11-27 09:53

I am trying to install a software, which uses cmake to install itself, when i give at commandlin cmake ..
it gives me following error in this file, CMakeLists.txt -----

13条回答
  •  暗喜
    暗喜 (楼主)
    2020-11-27 10:37

    Just in case...this works for me. Sorry for specific version of OpenSSL, but might be desirable.

    # On macOS, search Homebrew for keg-only versions of OpenSSL
    # equivalent of # -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl/ -DOPENSSL_CRYPTO_LIBRARY=/usr/local/opt/openssl/lib/
    if (CMAKE_HOST_SYSTEM_NAME MATCHES "Darwin")
        execute_process(
            COMMAND brew --prefix OpenSSL 
            RESULT_VARIABLE BREW_OPENSSL
            OUTPUT_VARIABLE BREW_OPENSSL_PREFIX
            OUTPUT_STRIP_TRAILING_WHITESPACE
        )
        if (BREW_OPENSSL EQUAL 0 AND EXISTS "${BREW_OPENSSL_PREFIX}")
            message(STATUS "Found OpenSSL keg installed by Homebrew at ${BREW_OPENSSL_PREFIX}")
            set(OPENSSL_ROOT_DIR "${BREW_OPENSSL_PREFIX}/")
            set(OPENSSL_INCLUDE_DIR "${BREW_OPENSSL_PREFIX}/include")
            set(OPENSSL_LIBRARIES "${BREW_OPENSSL_PREFIX}/lib")
            set(OPENSSL_CRYPTO_LIBRARY "${BREW_OPENSSL_PREFIX}/lib/libcrypto.dylib")
        endif()
    endif()
    
    ...
    
    find_package(OpenSSL REQUIRED)
    if (OPENSSL_FOUND)
      # Add the include directories for compiling
      target_include_directories(${TARGET_SERVER} PUBLIC ${OPENSSL_INCLUDE_DIR})
      # Add the static lib for linking
      target_link_libraries(${TARGET_SERVER} OpenSSL::SSL OpenSSL::Crypto)
      message(STATUS "Found OpenSSL ${OPENSSL_VERSION}")
    else()
      message(STATUS "OpenSSL Not Found")
    endif()
    

提交回复
热议问题