diff --git a/components/mbedtls/CMakeLists.txt b/components/mbedtls/CMakeLists.txt index 91ef70234a..5cfac4d9ba 100644 --- a/components/mbedtls/CMakeLists.txt +++ b/components/mbedtls/CMakeLists.txt @@ -1,69 +1,13 @@ -idf_component_register(SRCS "mbedtls.c" - INCLUDE_DIRS "port/include" "mbedtls/include" +idf_component_register(INCLUDE_DIRS "port/include" "mbedtls/include" REQUIRES lwip) # Only build mbedtls libraries set(ENABLE_TESTING CACHE BOOL OFF) set(ENABLE_PROGRAMS CACHE BOOL OFF) -# Use same policy between IDF and mbedtls build -function(project) - set(_args ARGV) - _project(${${_args}}) - cmake_policy(SET CMP0022 NEW) -endfunction() - # Needed to for include_next includes to work from within mbedtls include_directories("${COMPONENT_DIR}/port/include") -# Workaround issue with creating symbolic links due to issues with native -# path conversion (TO_NATIVE_PATH). The following summarizes what CMake invocations -# this workaround is for: -# -# 1. CMake from command line + Ninja = No errors -# 2. CMake from command line + MinGW Makefiles = Forward slash for paths, mklink mistakes path for a switch -# 3. CMake from MSYS + Ninja = No errors -# 4. CMake from MSYS + Unix Makefiles/MSYS Makefiles = Forward slash for paths, mklink mistakes path for a switch -# -# There are references to the issue in case (2) and (4) in https://github.com/ARMmbed/mbedtls/issues/1496, -# https://cmake.org/pipermail/cmake/2006-July/010193.html, and https://cmake.org/Bug/view.php?id=5939. -# -# This workaround is meant to circumvent logic inside link_to_source() function in mbedtls/mbedtls/CMakeLists.txt. -if(CMAKE_HOST_WIN32) - set(msystem $ENV{MSYSTEM}) - if(MSYS OR msystem) - # Solves case (4). When in MSYS environment, instead opt to use the Unix equivalent of mklink. - set(CMAKE_HOST_UNIX 1) - else() - # Solves case (2). When invoked from command line, create the symbolic links ahead of link_to_source() invocations - # using a 'hybrid' path format resilient intermediary - in this case a Python wrapper for mklink. This is more unweildy - # than necessary, since string(REPLACE "/" "\\" ... does not actually work. - set(target_links "mbedtls/include/mbedtls" - "mbedtls/scripts") - foreach(target_link ${target_links}) - file(TO_NATIVE_PATH ${CMAKE_CURRENT_BINARY_DIR}/${target_link} link) - file(TO_NATIVE_PATH ${COMPONENT_DIR}/${target_link} target) - - idf_build_get_property(python PYTHON) - if(NOT EXISTS ${link}) - if(IS_DIRECTORY ${target}) - set(command ${python} ${COMPONENT_DIR}/mklink.py /j ${link} ${target}) - else() - set(command ${python} ${COMPONENT_DIR}/mklink.py /h ${link} ${target}) - endif() - - execute_process(COMMAND ${command} - RESULT_VARIABLE result - ERROR_VARIABLE output) - - if(NOT ${result} EQUAL 0) - message(FATAL_ERROR "Could not create symbolic link for: ${target} --> ${output}") - endif() - endif() - endforeach() - endif() -endif() - # Import mbedtls library targets add_subdirectory(mbedtls) diff --git a/components/mbedtls/mbedtls.c b/components/mbedtls/mbedtls.c deleted file mode 100644 index fab17ac780..0000000000 --- a/components/mbedtls/mbedtls.c +++ /dev/null @@ -1 +0,0 @@ -// Empty file diff --git a/components/mbedtls/mklink.py b/components/mbedtls/mklink.py deleted file mode 100644 index 4195e4f333..0000000000 --- a/components/mbedtls/mklink.py +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env python -# -# Wrapper for symbolic link creation on Windows that works around issues -# with native path conversion. See the component CMakeLists.txt for more details. -# -# Copyright 2018 Espressif Systems (Shanghai) PTE LTD -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http:#www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -import os -import argparse -import subprocess - -parser = argparse.ArgumentParser() -parser.add_argument("type") -parser.add_argument("link") -parser.add_argument("target") - -args = parser.parse_args() - -link = os.path.abspath(args.link) -target = os.path.abspath(args.target) - -try: - os.makedirs(os.path.dirname(link)) -except WindowsError: - pass - -mklink_cmd = ["mklink", args.type, link, target] - -subprocess.call(mklink_cmd, shell=True) diff --git a/components/mbedtls/test/CMakeLists.txt b/components/mbedtls/test/CMakeLists.txt index 8a083482a6..ea3ab04172 100644 --- a/components/mbedtls/test/CMakeLists.txt +++ b/components/mbedtls/test/CMakeLists.txt @@ -3,7 +3,7 @@ idf_component_register(SRC_DIRS "." REQUIRES unity test_utils mbedtls) idf_component_get_property(mbedtls mbedtls COMPONENT_LIB) -target_compile_definitions(${mbedtls} PUBLIC "-DMBEDTLS_DEPRECATED_WARNING") +target_compile_definitions(${mbedtls} INTERFACE "-DMBEDTLS_DEPRECATED_WARNING") target_compile_definitions(mbedtls PUBLIC "-DMBEDTLS_DEPRECATED_WARNING") target_compile_definitions(mbedcrypto PUBLIC "-DMBEDTLS_DEPRECATED_WARNING") target_compile_definitions(mbedx509 PUBLIC "-DMBEDTLS_DEPRECATED_WARNING")