From b96c2eebcd656dbb3254bb2fdd67e9d1e0ce7c5e Mon Sep 17 00:00:00 2001 From: Winford Date: Fri, 31 Jan 2025 19:25:42 +0000 Subject: [PATCH] Update CMakeLists.txt for building with ESP-IDF-v5.x Adds changes necessary to build with ESP-IDF v5.x but still retains compatablility with ESP-IDF 4.x versions. ESP-IDF-v4.x has been EOL for some time now and support for that can be removed in a future PR. Closes #2 Signed-off-by: Winford --- CMakeLists.txt | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6e42b99..66331d1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,6 +18,14 @@ # SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later # +if (IDF_VERSION_MAJOR EQUAL 5) + set(OPTIONAL_WHOLE_ARCHIVE WHOLE_ARCHIVE) + set(ADDITIONAL_REQUIRES "driver" "esp_timer") +else() + set(OPTIONAL_WHOLE_ARCHIVE "") + set(ADDITIONAL_REQUIRES "") +endif() + set(ATOMVM_DHT_COMPONENT_SRCS "nifs/atomvm_dht.c" ) @@ -25,10 +33,13 @@ set(ATOMVM_DHT_COMPONENT_SRCS idf_component_register( SRCS ${ATOMVM_DHT_COMPONENT_SRCS} INCLUDE_DIRS "nifs/include" - PRIV_REQUIRES "libatomvm" "avm_sys" + PRIV_REQUIRES "libatomvm" "avm_sys" ${ADDITIONAL_REQUIRES} + ${OPTIONAL_WHOLE_ARCHIVE} ) -idf_build_set_property( - LINK_OPTIONS "-Wl,--whole-archive ${CMAKE_CURRENT_BINARY_DIR}/lib${COMPONENT_NAME}.a -Wl,--no-whole-archive" - APPEND -) +if (IDF_VERSION_MAJOR EQUAL 4) + idf_build_set_property( + LINK_OPTIONS "-Wl,--whole-archive ${CMAKE_CURRENT_BINARY_DIR}/lib${COMPONENT_NAME}.a -Wl,--no-whole-archive" + APPEND) +endif() +