1# FindTinyDTLS 2# ----------- 3# 4# Find the tinyDTLS encryption library. 5# 6# Imported Targets 7# ^^^^^^^^^^^^^^^^ 8# 9# This module defines the following :prop_tgt:`IMPORTED` targets: 10# 11# ``tinydtls`` 12# The tinyDTLS ``tinydtls`` library, if found. 13# 14# Result Variables 15# ^^^^^^^^^^^^^^^^ 16# 17# This module will set the following variables in your project: 18# 19# ``TINYDTLS_FOUND`` 20# System has the tinyDTLS library. 21# ``TINYDTLS_INCLUDE_DIR`` 22# The tinyDTLS include directory. 23# ``TINYDTLS_LIBRARIES`` 24# All tinyDTLS libraries. 25# 26# Hints 27# ^^^^^ 28# 29# Set ``TINYDTLS_ROOT_DIR`` to the root directory of an tinyDTLS installation. 30 31if(TINYDTLS_ROOT_DIR) 32 set(_EXTRA_FIND_ARGS "NO_CMAKE_FIND_ROOT_PATH") 33endif() 34 35find_path( 36 TINYDTLS_INCLUDE_DIR 37 NAMES tinydtls/dtls.h 38 PATH_SUFFIXES include 39 HINTS ${PROJECT_SOURCE_DIR} 40 ${CMAKE_CURRENT_BINARY_DIR} 41 ${TINYDTLS_ROOT_DIR} 42 ${_EXTRA_FIND_ARGS}) 43 44find_library( 45 TINYDTLS_LIBRARIES 46 NAMES tinydtls 47 PATH_SUFFIXES lib 48 HINTS ${PROJECT_SOURCE_DIR} 49 ${CMAKE_CURRENT_BINARY_DIR} 50 ${TINYDTLS_ROOT_DIR} 51 ${_EXTRA_FIND_ARGS}) 52 53if(TINYDTLS_LIBRARIES) 54 set(TINYDTLS_FOUND TRUE) 55else() 56 set(TINYDTLS_FOUND FALSE) 57 if(TinyDTLS_FIND_REQUIRED) 58 message(FATAL_ERROR "Tinydtls could not be found") 59 endif() 60endif() 61 62include(FindPackageHandleStandardArgs) 63find_package_handle_standard_args( 64 tinyDTLS 65 FOUND_VAR 66 TINYDTLS_FOUND 67 REQUIRED_VARS 68 TINYDTLS_INCLUDE_DIR 69 TINYDTLS_LIBRARIES 70 VERSION_VAR) 71 72if(NOT 73 TARGET 74 tinydtls) 75 add_library( 76 tinydtls 77 UNKNOWN 78 IMPORTED) 79 set_target_properties( 80 tinydtls 81 PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${TINYDTLS_INCLUDE_DIR}" 82 IMPORTED_LINK_INTERFACE_LANGUAGES "C" 83 IMPORTED_LOCATION "${TINYDTLS_LIBRARIES}") 84endif() 85 86message(STATUS "TINYDTLS_INCLUDE_DIR: ${TINYDTLS_INCLUDE_DIR}") 87message(STATUS "TINYDTLS_LIBRARIES: ${TINYDTLS_LIBRARIES}") 88message(STATUS "TINYDTLS_ROOT_DIR: ${TINYDTLS_ROOT_DIR}") 89