--- CMakeLists.txt
+++ CMakeLists.txt
@@ -5,7 +5,6 @@
 # Modules
 list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/")
 if (WIN32)
-  include(ChooseMSVCCRT)
 endif()
 include(CheckCXXCompilerFlag)
 include(CheckCCompilerFlag)
@@ -49,14 +48,14 @@

 # Dependencies
 # ============
-set(THIRD_PARTY_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/third-party/")
-include(LIEFDependencies)
+set(LIEF_FROZEN_ENABLED 0)
+if (LIEF_SUPPORT_CXX14 AND NOT LIEF_DISABLE_FROZEN)
+  message(STATUS "Enable Frozen (C++14 support)")
+  set(LIEF_FROZEN_ENABLED 1)
+endif()

 # LIEF Source definition
 # ======================
-set_source_files_properties(${mbedtls_src_crypto} PROPERTIES GENERATED TRUE)
-set_source_files_properties(${mbedtls_src_x509} PROPERTIES GENERATED TRUE)
-set_source_files_properties(${mbedtls_src_tls} PROPERTIES GENERATED TRUE)

 if (LIEF_LOGGING)
   set_source_files_properties(${ELG_SOURCE_DIR}/easylogging++.cc PROPERTIES GENERATED TRUE)
@@ -73,9 +72,6 @@

 set(LIBLIEF_SOURCE_FILES
   "${ELG_CC_PATH}"
-  "${mbedtls_src_crypto}"
-  "${mbedtls_src_x509}"
-  "${mbedtls_src_tls}"
   "${LIBFUZZER_SRC_FILES}"
   "${CMAKE_CURRENT_SOURCE_DIR}/src/logging.cpp"
   "${CMAKE_CURRENT_SOURCE_DIR}/src/exception.cpp"
@@ -126,13 +122,11 @@
 set(LIEF_JSON_SRC "${CMAKE_CURRENT_SOURCE_DIR}/src/visitors/json.cpp")
 set(LIEF_JSON_HDR
   "${CMAKE_CURRENT_SOURCE_DIR}/include/LIEF/json.hpp"
-  "${LIBJSON_SOURCE_DIR}/json.hpp"
 )

 if (LIEF_ENABLE_JSON)
   list(APPEND LIBLIEF_SOURCE_FILES     "${LIEF_JSON_SRC}")
   list(APPEND LIEF_INC_FILES           "${LIEF_JSON_HDR}")
-  list(APPEND LIEF_PUBLIC_INCLUDE_DIR  "${LIBJSON_SOURCE_DIR}/")
 endif()

 source_group("Header Files" FILES ${LIEF_INC_FILES})
@@ -224,9 +218,6 @@

 # Frozen Configuration
 # ====================
-if (LIEF_FROZEN_ENABLED)
-  list(APPEND LIEF_PRIVATE_INCLUDE_DIR "${FROZEN_INCLUDE_DIR}")
-endif()

 # OAT part
 # ========
@@ -292,19 +283,15 @@
 list(APPEND LIEF_PRIVATE_INCLUDE_DIR
   "${LIEF_PUBLIC_INCLUDE_DIR}"
   "${LIEF_PUBLIC_INCLUDE_DIR}"
-  "${LIBRANG_SOURCE_DIR}/include"
   "${CMAKE_CURRENT_SOURCE_DIR}/src"
   "${CMAKE_BINARY_DIR}"
+  "${CMAKE_CURRENT_BINARY_DIR}"
   "${ELG_SOURCE_DIR}"
-  "${MBEDTLS_INCLUDE_DIRS}"
 )


 # Grouping external projects
 # ==========================
-source_group("mbedtls\\crypto" FILES ${mbedtls_src_crypto})
-source_group("mbedtls\\x509"   FILES ${mbedtls_src_x509})
-source_group("mbedtls\\tls"    FILES ${mbedtls_src_tls})
 if (LIEF_LOGGING)
   source_group("easylogging"     FILES ${ELG_SOURCE_DIR}/easylogging++.cc)
 endif()
@@ -316,7 +303,7 @@
   PRIVATE "${LIEF_PRIVATE_INCLUDE_DIR}")

 if (LIEF_ENABLE_JSON)
-  add_dependencies(LIB_LIEF lief_libjson)
+  target_link_libraries(LIB_LIEF CONAN_PKG::nlohmann_json)
 endif()

 if (LIEF_LOGGING)
@@ -324,18 +311,17 @@
 endif()

 if (LIEF_FROZEN_ENABLED)
-  add_dependencies(LIB_LIEF lief_frozen)
+  target_link_libraries(LIB_LIEF CONAN_PKG::frozen)
 endif()

-add_dependencies(LIB_LIEF lief_rang_cpp_color)
+target_link_libraries(LIB_LIEF CONAN_PKG::rang)

-add_dependencies(LIB_LIEF lief_mbed_tls)
+target_link_libraries(LIB_LIEF CONAN_PKG::mbedtls)

 # Flags definition
 # ----------------
 set_property(TARGET LIB_LIEF PROPERTY CXX_STANDARD              11)
 set_property(TARGET LIB_LIEF PROPERTY CXX_STANDARD_REQUIRED     ON)
-set_property(TARGET LIB_LIEF PROPERTY POSITION_INDEPENDENT_CODE ON)
 set_property(TARGET LIB_LIEF PROPERTY CXX_VISIBILITY_PRESET     hidden)

 target_compile_definitions(LIB_LIEF PUBLIC -D_GLIBCXX_USE_CXX11_ABI=1)
@@ -345,11 +331,6 @@
 # with the SpcSpAgencyInfo Critical Extension, which mbed TLS doesn't
 # support, so set MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION to
 # have it skip this extension.
-add_definitions(
-  -DMBEDTLS_MD2_C
-  -DMBEDTLS_MD4_C
-  -DMBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION
-)


 # ASAN - LSAN - TSAN - USAN
@@ -512,16 +493,16 @@

 install(TARGETS LIB_LIEF
   ARCHIVE
-  DESTINATION lib
+  DESTINATION ${CMAKE_INSTALL_LIBDIR}
   LIBRARY
-  DESTINATION lib
+  DESTINATION ${CMAKE_INSTALL_LIBDIR}
   RUNTIME
-  DESTINATION lib
+  DESTINATION ${CMAKE_INSTALL_BINDIR}
   COMPONENT libraries)

 install(
   DIRECTORY ${LIEF_PUBLIC_INCLUDE_DIR}
-  DESTINATION include
+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
   COMPONENT headers
   FILES_MATCHING REGEX "(.*).(hpp|h|def)$")

