]> granicus.if.org Git - esp-idf/commitdiff
mbedtls: remove component CMake file workarounds
authorRenz Christian Bagaporo <renz@espressif.com>
Tue, 25 Jun 2019 04:13:12 +0000 (12:13 +0800)
committerbot <bot@espressif.com>
Wed, 26 Jun 2019 08:41:02 +0000 (08:41 +0000)
components/mbedtls/CMakeLists.txt
components/mbedtls/mbedtls.c [deleted file]
components/mbedtls/mklink.py [deleted file]
components/mbedtls/test/CMakeLists.txt

index 91ef70234ada231d361e5a72dcb3e5e93aa8a335..5cfac4d9ba1a41bc3d9390ba5012e2b47c9eb897 100644 (file)
@@ -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 (file)
index fab17ac..0000000
+++ /dev/null
@@ -1 +0,0 @@
-// Empty file
diff --git a/components/mbedtls/mklink.py b/components/mbedtls/mklink.py
deleted file mode 100644 (file)
index 4195e4f..0000000
+++ /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)
index 8a083482a6b4a74302f23a4e4925e79df67adfd7..ea3ab04172b54c6c191b4f8af9a3727cb3da3852 100644 (file)
@@ -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")