diff --git a/.appveyor.yml b/.appveyor.yml index a766aa711..4bf584c2e 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -16,5 +16,5 @@ install: build_script: - md build - cd build - - cmake -DCMAKE_PREFIX_PATH=c:\projects\libpcap\Win32\WpdPack -G"Visual Studio 12 2013" .. + - cmake -DCMAKE_PREFIX_PATH=c:\projects\libpcap\Win32\WpdPack -DOPENSSL_ROOT_DIR=c:\OpenSSL-Win32 -G"Visual Studio 12 2013" .. - msbuild -nologo -p:Configuration=Release tcpdump.sln diff --git a/CMakeLists.txt b/CMakeLists.txt index 704e48c13..ebfa45b5b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -723,7 +723,7 @@ if(WITH_CRYPTO) # Check for some functions. # cmake_push_check_state() - set(CMAKE_REQUIRED_LIBRARIES crypto) + set(CMAKE_REQUIRED_LIBRARIES ${CRYPTO_LIBRARIES}) # # 1) do we have EVP_CIPHER_CTX_new? diff --git a/cmake/Modules/FindCRYPTO.cmake b/cmake/Modules/FindCRYPTO.cmake index 453c6516e..d13d2cd81 100644 --- a/cmake/Modules/FindCRYPTO.cmake +++ b/cmake/Modules/FindCRYPTO.cmake @@ -2,11 +2,29 @@ # Try to find libcrypto. # +if(MSVC) + find_package(OpenSSL QUIET) +endif() + # Try to find the header -find_path(CRYPTO_INCLUDE_DIR openssl/crypto.h) +find_path(CRYPTO_INCLUDE_DIR openssl/crypto.h + HINTS + ${OPENSSL_INCLUDE_DIR} +) # Try to find the library -find_library(CRYPTO_LIBRARY crypto) +if(NOT MSVC) + find_library(CRYPTO_LIBRARY crypto) +else() + if(USE_STATIC_RT) + set(OPENSSL_MSVC_STATIC_RT 1) + endif() + # going the extra mile... + set(CRYPTO_LIBRARY_RELEASE ${LIB_EAY_RELEASE}) + set(CRYPTO_LIBRARY_DEBUG ${LIB_EAY_DEBUG}) + include(SelectLibraryConfigurations) + select_library_configurations(CRYPTO) +endif() include(FindPackageHandleStandardArgs) find_package_handle_standard_args(CRYPTO