• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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