diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4ffed79..901ce40 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.0.0)
+cmake_minimum_required(VERSION 3.11.0)
 
 set(VERSION_MAJOR
     0
@@ -85,25 +85,6 @@
   set(COSE_C_COVERALLS OFF)
 endif()
 
-if(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR CMAKE_C_COMPILER_ID MATCHES "Clang")
-  message(STATUS "adding GCC/Clang options ")
-  add_definitions(-std=gnu99 -Wall -Wextra -pedantic)
-  if(COSE_C_FATAL_WARNINGS)
-    add_definitions(-Werror)
-  endif()
-  if(COSE_C_OPTIMIZE)
-    add_definitions(-Os)
-  endif()
-  add_definitions(-DNDEBUG)
-elseif(MSVC)
-  add_definitions(/W4)
-  if(COSE_C_FATAL_WARNINGS)
-    add_definitions(/WX)
-  endif()
-else()
-  message(FATAL_ERROR "unhandled compiler id: ${CMAKE_C_COMPILER_ID}")
-endif()
-
 if(versbose)
   set(CMAKE_VERBOSE_MAKEFILE ON)
 endif()
@@ -147,7 +128,6 @@
   endif()
 endif(COSE_C_RUN_CLANG_TIDY)
 
-
 ###############################################################################
 # DEPENDENCIES
 ###############################################################################
@@ -155,39 +135,42 @@
 if(COSE_C_USE_FIND_PACKAGE)
   find_package(cn-cbor)
 else()
-  include(ExternalProject)
-  externalproject_add(
-    project_cn-cbor
-    GIT_REPOSITORY https://github.com/jimsch/cn-cbor
-    GIT_TAG master
-    CMAKE_ARGS -DCN_CBOR_OPTIMIZE=OFF
-               -DCN_CBOR_USE_CONTEXT=${COSE_C_USE_CONTEXT}
-               -DCN_CBOR_BUILD_DOCS=OFF
-               -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
-               -DCN_CBOR_COVERALLS=OFF
-               -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
-               -DCN_CBOR_FATAL_WARNINGS=OFF
-    INSTALL_DIR "${dist_dir}"
-    UPDATE_DISCONNECTED 1)
+  include(FetchContent)
 
-  externalproject_get_property(project_cn-cbor install_dir)
-  include_directories("${install_dir}/include")
+  fetchcontent_declare(
+    project_cn_cbor
+    GIT_REPOSITORY https://github.com/jimsch/cn-cbor.git
+    GIT_TAG master)
 
-  add_library(cn-cbor STATIC IMPORTED GLOBAL)
-  if(MSVC)
-    set_property(TARGET cn-cbor PROPERTY IMPORTED_LOCATION
-                                         "${install_dir}/lib/${CMAKE_SHARED_MODULE_PREFIX}cn-cbor.lib")
-  else()
-    set_property(
-      TARGET cn-cbor PROPERTY IMPORTED_LOCATION
-                              "${install_dir}/lib/${CMAKE_SHARED_MODULE_PREFIX}cn-cbor${CMAKE_SHARED_LIBRARY_SUFFIX}")
+  fetchcontent_getproperties(project_cn_cbor)
+  if(NOT project_cn_cbor_POPULATED)
+    fetchcontent_populate(project_cn_cbor)
+    set(CN_CBOR_FATAL_WARNINGS
+        OFF
+        CACHE BOOL "" FORCE)
+    set(CN_CBOR_COVERALLS
+        OFF
+        CACHE BOOL "" FORCE)
+    set(CN_CBOR_USE_CONTEXT
+        ${COSE_C_USE_CONTEXT}
+        CACHE BOOL "" FORCE)
+    set(BUILD_SHARED_LIBS
+        ${BUILD_SHARED_LIBS}
+        CACHE BOOL "" FORCE)
+    set(CN_CBOR_BUILD_DOCS
+        OFF
+        CACHE BOOL "" FORCE)
+    set(CN_CBOR_BUILD_TESTS
+        OFF
+        CACHE BOOL "" FORCE)
+    add_subdirectory(${project_cn_cbor_SOURCE_DIR} ${project_cn_cbor_BINARY_DIR} EXCLUDE_FROM_ALL)
   endif()
+endif()
 
-  if(NOT TARGET cn-cbor::cn-cbor)
-    add_library(cn-cbor::cn-cbor ALIAS cn-cbor)
-  endif()
-
-  add_dependencies(cn-cbor project_cn-cbor)
+if(BUILD_SHARED_LIBS)
+  set(BUILD_STATIC_LIBS OFF)
+else()
+  set(BUILD_STATIC_LIBS ON)
 endif()
 
 if(COSE_C_USE_MBEDTLS)
@@ -196,32 +179,32 @@
   if(COSE_C_USE_FIND_PACKAGE)
     find_package(MbedTLS)
   else()
-    externalproject_add(
+    include(FetchContent)
+    fetchcontent_declare(
       project_mbedtls
       GIT_REPOSITORY https://github.com/ARMmbed/mbedtls
-      CMAKE_ARGS -DENABLED_PROGRAMS=OFF
-                 -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
-                 -DUSE_SHARED_MBEDTLS_LIBRARY=${BUILD_SHARED_LIBS}
-                 -DENABLE_TESTING=OFF
-                 -DLIB_INSTALL_DIR=${install_dir}/lib
-                 INTALL_DIR
-                 "${dist_dir}"
-      UPDATE_DISCONNECTED 1)
+      GIT_TAG master)
 
-    externalproject_get_property(project_mbedtls install_dir)
-    include_directories("${install_dir}/include")
-    add_library(mbedtls STATIC IMPORTED)
-    if(MSVC)
-      set_property(TARGET mbedtls PROPERTY IMPORTED_LOCATION
-                                           "${dist_dir}/lib/${CMAKE_SHARED_MODULE_PREFIX}mbedcrypto.lib")
-    else()
-      set_property(
-        TARGET mbedtls PROPERTY IMPORTED_LOCATION
-                                "${dist_dir}/lib/${CMAKE_SHARED_MODULE_PREFIX}mbedcrypto${CMAKE_SHARED_LIBRARY_SUFFIX}")
+    fetchcontent_getproperties(project_mbedtls)
+    if(NOT project_mbedtls_POPULATED)
+      fetchcontent_populate(project_mbedtls)
+      set(ENABLED_PROGRAMS
+          OFF
+          CACHE BOOL "" FORCE)
+      set(USE_STATIC_MBEDTLS_LIBRARY
+          ${BUILD_STATIC_LIBS}
+          CACHE BOOL "" FORCE)
+      set(USE_SHARED_MBEDTLS_LIBRARY
+          ${BUILD_SHARED_LIBS}
+          CACHE BOOL "" FORCE)
+      set(ENABLE_TESTING
+          OFF
+          CACHE BOOL "" FORCE)
+      add_subdirectory(${project_mbedtls_SOURCE_DIR} ${project_mbedtls_BINARY_DIR} EXCLUDE_FROM_ALL)
     endif()
-    add_dependencies(mbedtls project_mbedtls)
+    # TODO: remove next line after https://github.com/ARMmbed/mbedtls/pull/2090
+    include_directories("${project_mbedtls_SOURCE_DIR}/include")
   endif()
-
 else()
   find_package(OpenSSL REQUIRED)
 endif()
@@ -270,6 +253,7 @@
 message(STATUS "CMAKE_BUILD_TYPE:................${CMAKE_BUILD_TYPE}")
 message(STATUS "BUILD_SHARED_LIBS:...............${BUILD_SHARED_LIBS}")
 message(STATUS "COSE_VERSION:....................${COSE_VERSION}")
+message(STATUS "CMAKE_VERSION:...................${CMAKE_VERSION}")
 message(STATUS "CMAKE_C_COMPILER:................${CMAKE_C_COMPILER}")
 message(STATUS "CMAKE_CXX_COMPILER:..............${CMAKE_CXX_COMPILER}")
 message(STATUS "CLANG_TIDY_EXE:..................${CLANG_TIDY_EXE}")
diff --git a/cmake/FindMbedTLS.cmake b/cmake/FindMbedTLS.cmake
index f7d5a72..abd9b13 100644
--- a/cmake/FindMbedTLS.cmake
+++ b/cmake/FindMbedTLS.cmake
@@ -18,6 +18,8 @@
 message(STATUS "MBEDCRYPTO_LIBRARY: ${MBEDCRYPTO_LIBRARY}")
 message(STATUS "MBEDTLS_LIBRARIES: ${MBEDTLS_LIBRARIES}")
 
-add_library(mbedtls IMPORTED UNKNOWN)
-set_target_properties(mbedtls PROPERTIES IMPORTED_LOCATION ${MBEDTLS_LIBRARIES})
-set_target_properties(mbedtls PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${MBEDTLS_INCLUDE_DIRS}")
+if(NOT TARGET mbedtls)
+  add_library(mbedtls IMPORTED UNKNOWN)
+  set_target_properties(mbedtls PROPERTIES IMPORTED_LOCATION ${MBEDTLS_LIBRARIES})
+  set_target_properties(mbedtls PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${MBEDTLS_INCLUDE_DIRS}")
+endif()
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 46a3f04..c41e555 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,3 +1,22 @@
+if(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR CMAKE_C_COMPILER_ID MATCHES "Clang")
+  message(STATUS "adding GCC/Clang options ")
+  add_definitions(-std=gnu99 -Wall -Wextra -pedantic)
+  if(COSE_C_FATAL_WARNINGS)
+    add_definitions(-Werror)
+  endif()
+  if(COSE_C_OPTIMIZE)
+    add_definitions(-Os)
+  endif()
+  add_definitions(-DNDEBUG)
+elseif(MSVC)
+  add_definitions(/W4)
+  if(COSE_C_FATAL_WARNINGS)
+    add_definitions(/WX)
+  endif()
+else()
+  message(FATAL_ERROR "unhandled compiler id: ${CMAKE_C_COMPILER_ID}")
+endif()
+
 add_library(${PROJECT_NAME})
 
 if(COSE_C_USE_MBEDTLS)
@@ -72,17 +91,19 @@
 
 set(COSE_C_CONFIG_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
 
-install(
-  TARGETS ${PROJECT_NAME}
-  EXPORT ${PROJECT_NAME}Targets
-  LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT lib
-  ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT dev
-  RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT lib)
-install(
-  EXPORT ${PROJECT_NAME}Targets
-  DESTINATION "${COSE_C_CONFIG_INSTALL_DIR}"
-  NAMESPACE ${PROJECT_NAME}::
-  COMPONENT dev)
+if(COSE_C_EXPORT_TARGETS)
+  install(
+    TARGETS ${PROJECT_NAME}
+    EXPORT ${PROJECT_NAME}Targets
+    LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT lib
+    ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT dev
+    RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT lib)
+  install(
+    EXPORT ${PROJECT_NAME}Targets
+    DESTINATION "${COSE_C_CONFIG_INSTALL_DIR}"
+    NAMESPACE ${PROJECT_NAME}::
+    COMPONENT dev)
+endif()
 
 configure_package_config_file(${PROJECT_SOURCE_DIR}/cmake/Config.cmake.in ${PROJECT_NAME}Config.cmake
                               INSTALL_DESTINATION ${COSE_C_CONFIG_INSTALL_DIR})
