diff --git a/CMakeLists.txt b/CMakeLists.txt
index 91c2300..2439fec 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,6 +5,8 @@ if(NOT WIN32)
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fPIC -L -lcpprest")
 endif()
 
+find_package(OpenSSL REQUIRED)
+
 set(CPPREST_INCLUDE_DIR "" CACHE FILEPATH "Path to casablanca include dir")
 
 include_directories (
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 506680d04..d8bd404a6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -13,7 +13,7 @@ include_directories (
 include
 "${CPPREST_INCLUDE_DIR}")
 
-find_library(CPPREST_SO NAMES "cpprest" PATHS ${CPPREST_LIB_DIR} REQUIRED)
+find_package(cpprestsdk REQUIRED)
 
 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
diff --git a/src/signalrclient/CMakeLists.txt b/src/signalrclient/CMakeLists.txt
index db141eb..c4306d8 100644
--- a/src/signalrclient/CMakeLists.txt
+++ b/src/signalrclient/CMakeLists.txt
@@ -32,7 +32,7 @@ add_definitions(-DUNICODE -D_UNICODE)
 
 add_library (signalrclient ${SOURCES})
 
-target_link_libraries(signalrclient ${CPPREST_SO})
+target_link_libraries(signalrclient cpprestsdk::cpprest OpenSSL::SSL OpenSSL::Crypto)
 
 install(
   TARGETS signalrclient
