32 lines
1.4 KiB
CMake
32 lines
1.4 KiB
CMake
find_path(CryptoPP_INCLUDE_DIR NAMES cryptopp/config.h DOC "CryptoPP include directory")
|
|||
|
|
find_library(CryptoPP_LIBRARY NAMES cryptopp DOC "CryptoPP library")
|
||
|
|
|
||
|
|
if(CryptoPP_INCLUDE_DIR)
|
||
|
|
# CRYPTOPP_VERSION has been moved to config_ver.h starting with Crypto++ 8.3
|
||
|
|
if(EXISTS ${CryptoPP_INCLUDE_DIR}/cryptopp/config_ver.h)
|
||
|
|
set(CryptoPP_VERSION_HEADER "config_ver.h")
|
||
|
|
else()
|
||
|
|
set(CryptoPP_VERSION_HEADER "config.h")
|
||
|
|
endif()
|
||
|
|
file(STRINGS ${CryptoPP_INCLUDE_DIR}/cryptopp/${CryptoPP_VERSION_HEADER} _config_version REGEX "CRYPTOPP_VERSION")
|
||
|
|
string(REGEX MATCH "([0-9])([0-9])([0-9])" _match_version "${_config_version}")
|
||
|
|
set(CryptoPP_VERSION_STRING "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.${CMAKE_MATCH_3}")
|
||
|
|
endif()
|
||
|
|
|
||
|
|
include(FindPackageHandleStandardArgs)
|
||
|
|
find_package_handle_standard_args(CryptoPP
|
||
|
|
REQUIRED_VARS CryptoPP_INCLUDE_DIR CryptoPP_LIBRARY
|
||
|
|
FOUND_VAR CryptoPP_FOUND
|
||
|
|
VERSION_VAR CryptoPP_VERSION_STRING)
|
||
|
|
|
||
|
|
if(CryptoPP_FOUND AND NOT TARGET CryptoPP::CryptoPP)
|
||
|
|
add_library(CryptoPP::CryptoPP UNKNOWN IMPORTED)
|
||
|
|
set_target_properties(CryptoPP::CryptoPP PROPERTIES
|
||
|
|
IMPORTED_LOCATION "${CryptoPP_LIBRARY}"
|
||
|
|
INTERFACE_INCLUDE_DIRECTORIES "${CryptoPP_INCLUDE_DIR}")
|
||
|
|
endif()
|
||
|
|
|
||
|
|
mark_as_advanced(CryptoPP_INCLUDE_DIR CryptoPP_LIBRARY)
|
||
|
|
set(CryptoPP_INCLUDE_DIRS ${CryptoPP_INCLUDE_DIR})
|
||
|
|
set(CryptoPP_LIBRARIES ${CryptoPP_LIBRARY})
|