Skip to content

Commit e6ac798

Browse files
committed
Carry MBedTLS patch that works around CMake 3.18.2 bug.
MBedTLS fails to build with CMake 3.18.2, due to a bug in CMake 3.18.2 causing failure to find python3. For more information, please see Mbed-TLS/mbedtls#3690 and https://gitlab.kitware.com/cmake/cmake/-/issues/21204. This pull request applies the MBedTLS patch that works around this issue from Mbed-TLS/mbedtls#3691, which has been merged into MBedTLS's development branch but not yet into a tagged release.
1 parent 996dd55 commit e6ac798

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

deps/mbedtls.mk

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ $(SRCCACHE)/$(MBEDTLS_SRC)/source-extracted: $(SRCCACHE)/$(MBEDTLS_SRC).tar.gz
2323
$(JLCHECKSUM) $<
2424
mkdir -p $(dir $@) && \
2525
$(TAR) -C $(dir $@) --strip-components 1 -xf $<
26+
# Apply workaround for CMake 3.18.2 bug (https://github.com/ARMmbed/mbedtls/pull/3691).
27+
cd $(SRCCACHE)/$(MBEDTLS_SRC) && patch -p1 -f < $(SRCDIR)/patches/mbedtls-cmake-findpy.patch
2628
# Force-enable MD4
2729
sed "s|//#define MBEDTLS_MD4_C|#define MBEDTLS_MD4_C|" -i $(SRCCACHE)/$(MBEDTLS_SRC)/include/mbedtls/config.h
2830
touch -c $(SRCCACHE)/$(MBEDTLS_SRC)/CMakeLists.txt # old target
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
diff --git a/CMakeLists.txt b/CMakeLists.txt
2+
index 8833246..2ed55ed 100644
3+
--- a/CMakeLists.txt
4+
+++ b/CMakeLists.txt
5+
@@ -17,6 +17,18 @@
6+
#
7+
8+
cmake_minimum_required(VERSION 2.6)
9+
+
10+
+# https://cmake.org/cmake/help/latest/policy/CMP0011.html
11+
+# Setting this policy is required in CMake >= 3.18.0, otherwise a warning is generated. The OLD
12+
+# policy setting is deprecated, and will be removed in future versions.
13+
+cmake_policy(SET CMP0011 NEW)
14+
+# https://cmake.org/cmake/help/latest/policy/CMP0012.html
15+
+# Setting the CMP0012 policy to NEW is required for FindPython3 to work with CMake 3.18.2
16+
+# (there is a bug in this particular version), otherwise, setting the CMP0012 policy is required
17+
+# for CMake versions >= 3.18.3 otherwise a deprecated warning is generated. The OLD policy setting
18+
+# is deprecated and will be removed in future versions.
19+
+cmake_policy(SET CMP0012 NEW)
20+
+
21+
if(TEST_CPP)
22+
project("mbed TLS" C CXX)
23+
else()

0 commit comments

Comments
 (0)